Azure Trigger

Azure Trigger

Certified

Poll Azure Event Hubs and trigger flows

Periodically consumes events in batches, checkpoints to Blob Storage, and triggers one execution per batch. Defaults: interval=PT60S, consumerGroup=$Default, partitionStartingPosition=EARLIEST, maxBatchSizePerPartition=50, maxWaitTimePerPartition=PT5S, maxDuration=PT10S. Use RealtimeTrigger for per-event executions.

yaml
type: io.kestra.plugin.azure.eventhubs.Trigger

Trigger flow based on events received from Azure Event Hubs in batch.

yaml
id: azure_eventhubs_trigger
namespace: company.team

tasks:
  - id: log
    type: io.kestra.plugin.core.log.Log
    message: Hello there! I received {{ trigger.eventsCount }} from Azure EventHubs!

triggers:
  - id: read_from_eventhub
    type: io.kestra.plugin.azure.eventhubs.Trigger
    interval: PT30S
    eventHubName: my_eventhub
    namespace: my_eventhub_namespace
    connectionString: "{{ secret('EVENTHUBS_CONNECTION') }}"
    bodyDeserializer: JSON
    consumerGroup: "$Default"
    checkpointStoreProperties:
      containerName: kestra
      connectionString: "{{ secret('BLOB_CONNECTION') }}"
Properties

Checkpoint store properties

Blob container config for checkpoints (connectionString, containerName required)

The event hub to read from

Namespace name of the event hub to connect to

Defaultfalse

Specifies whether a trigger is allowed to start a new execution even if a previous run is still in progress.

DefaultSTRING
Possible Values
STRINGBINARYIONJSON

Body deserializer

Serde used to decode event bodies; defaults to STRING

Default{}

Deserializer properties

Key/value options passed to the selected serde

Default5

The maximum number of retry attempts before considering a client operation to have failed

Default500

The maximum permissible delay between retry attempts in milliseconds

Connection string of the Storage Account.

Default$Default

Consumer group

Event Hubs consumer group; defaults to $Default

Custom endpoint address when connecting to the Event Hubs service

Start from enqueue time

ISO-8601 datetime applied only when partitionStartingPosition is set to INSTANT; ignored for EARLIEST and LATEST

DefaultPT1M
Formatduration

Polling interval

Time between poll cycles; defaults to PT60S

Default50

Max batch size per partition

Maximum events pulled per partition read; defaults to 50

DefaultPT10S

Overall max duration

Stop consuming after this duration each poll; defaults to PT10S

DefaultPT5S

Max wait per partition

Maximum wait for a partition batch before returning; defaults to PT5S

DefaultEARLIEST
Possible Values
EARLIESTLATESTINSTANT

Starting position

Initial position strategy per partition; defaults to EARLIEST

The SAS token to use for authenticating requests.

This string should only be the query parameters (with or without a leading '?') and not a full URL.

Shared Key access key for authenticating requests.

Shared Key account name for authenticating requests.

SubTypestring
Possible Values
CREATEDSUBMITTEDRUNNINGPAUSEDRESTARTEDKILLINGSUCCESSWARNINGFAILEDKILLEDCANCELLEDQUEUEDRETRYINGRETRIEDSKIPPEDBREAKPOINTRESUBMITTED

List of execution states after which a trigger should be stopped (a.k.a. disabled).

Defaulttrue

A 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.

Events consumed

Formaturi

Consumed events URI

kestra:// URI for the ION file containing consumed events