
Azure Trigger
CertifiedPoll Azure Service Bus for messages
Azure Trigger
Poll Azure Service Bus for messages
Polling trigger that reads from a queue or topic subscription using connection string or Azure AD credentials. Polls every 60 seconds and stops each cycle when maxReceiveDuration elapses or no messages are returned.
type: io.kestra.plugin.azure.servicebus.TriggerExamples
id: service_bus_listen
namespace: company.team
tasks:
- id: log_messages
type: io.kestra.plugin.core.log.Log
message: "Received {{ trigger.count }} messages, stored at {{ trigger.uri }}."
triggers:
- id: watch
type: io.kestra.plugin.azure.servicebus.Trigger
maxReceiveDuration: PT30S
maxMessages: 100
queueName: your-queue-name
tenantId: "{{ secret('AZURE_TENANT_ID') }}"
clientId: "{{ secret('AZURE_CLIENT_ID') }}"
clientSecret: "{{ secret('AZURE_CLIENT_SECRET') }}"
Properties
maxReceiveDuration *string
Maximum time to wait for messages before returning; Consume defaults to PT10S and Trigger must provide a value
allowConcurrent boolean
falseSpecifies whether a trigger is allowed to start a new execution even if a previous run is still in progress.
clientId string
Client ID for the Azure app registration used with tenantId
clientSecret string
Client secret for the Azure app registration; not needed when using pemCertificate
connectionString string
Connection string for the Service Bus namespace or entity; overrides client credential authentication
interval string
PT1MdurationInterval between polling.
The interval between 2 different polls of schedule, this can avoid to overload the remote system with too many calls. For most of the triggers that depend on external systems, a minimal interval must be at least PT30S. See ISO_8601 Durations for more information of available interval values.
maxMessages integerstring
Maximum messages to consume before returning; leave empty for no cap
pemCertificate string
PEM certificate content for certificate-based authentication
queueName string
Name of the Service Bus queue to connect to; queueName and topicName are mutually exclusive
receiveMode string
PEEK_LOCKRECEIVE_AND_DELETEService Bus receive mode; defaults to PEEK_LOCK
serdeType string
STRINGSTRINGJSONSerializer/deserializer for the message body; defaults to STRING
stopAfter array
CREATEDSUBMITTEDRUNNINGPAUSEDRESTARTEDKILLINGSUCCESSWARNINGFAILEDKILLEDCANCELLEDQUEUEDRETRYINGRETRIEDSKIPPEDBREAKPOINTRESUBMITTEDList of execution states after which a trigger should be stopped (a.k.a. disabled).
subQueue string
NONEDEAD_LETTER_QUEUETRANSFER_DEAD_LETTER_QUEUESubQueue type to connect to (e.g., DEAD_LETTER_QUEUE)
subscriptionName string
Subscription name when connecting to a topic
tenantId string
Azure Active Directory tenant ID used when authenticating without a connection string
topicName string
Name of the Service Bus topic to connect to; queueName and topicName are mutually exclusive
when string
trueA condition that determines whether the trigger should run.
A Pebble expression evaluated at trigger time. The trigger fires only when the expression evaluates to a truthy value (true, a non-empty string, a non-zero number). Use this to gate trigger execution on dynamic runtime values such as execution labels, flow variables, or environment conditions.
Outputs
count integer
Number of consumed rows
uri string
uriFile URI containing consumed messages