airflow.providers.microsoft.azure.triggers.message_bus

Classes

BaseAzureServiceBusTrigger

Base trigger for Azure Service Bus message processing.

AzureServiceBusQueueTrigger

Trigger for Azure Service Bus Queue message processing.

AzureServiceBusSubscriptionTrigger

Trigger for Azure Service Bus Topic Subscription message processing.

Module Contents

class airflow.providers.microsoft.azure.triggers.message_bus.BaseAzureServiceBusTrigger(poll_interval=None, azure_service_bus_conn_id=None, max_wait_time=None)[source]

Bases: airflow.triggers.base.BaseEventTrigger

Base trigger for Azure Service Bus message processing.

This trigger provides common functionality for listening to Azure Service Bus queues and topics/subscriptions. It handles connection management and async message processing.

Parameters:
  • poll_interval (float | None) – Time interval between polling operations (seconds)

  • azure_service_bus_conn_id (str | None) – Connection ID for Azure Service Bus

  • max_wait_time (float | None) – Maximum time to wait for messages (seconds)

default_conn_name = 'azure_service_bus_default'[source]
default_max_wait_time = None[source]
default_poll_interval = 60[source]
connection_id = 'azure_service_bus_default'[source]
max_wait_time = None[source]
poll_interval = 60[source]
message_hook[source]
abstract serialize()[source]

Serialize the trigger instance.

abstract run()[source]

Run the trigger logic.

class airflow.providers.microsoft.azure.triggers.message_bus.AzureServiceBusQueueTrigger(queues, poll_interval=None, azure_service_bus_conn_id=None, max_wait_time=None)[source]

Bases: BaseAzureServiceBusTrigger

Trigger for Azure Service Bus Queue message processing.

This trigger monitors one or more Azure Service Bus queues for incoming messages. When messages arrive, they are processed and yielded as trigger events that can be consumed by downstream tasks.

Example:
>>> trigger = AzureServiceBusQueueTrigger(
...     queues=["queue1", "queue2"],
...     azure_service_bus_conn_id="my_asb_conn",
...     poll_interval=30,
... )
Parameters:
  • queues (list[str]) – List of queue names to monitor

  • poll_interval (float | None) – Time interval between polling operations (seconds)

  • azure_service_bus_conn_id (str | None) – Connection ID for Azure Service Bus

  • max_wait_time (float | None) – Maximum time to wait for messages (seconds)

queues[source]
serialize()[source]

Serialize the trigger instance.

async run()[source]

Run the trigger logic.

class airflow.providers.microsoft.azure.triggers.message_bus.AzureServiceBusSubscriptionTrigger(topics, subscription_name, poll_interval=None, azure_service_bus_conn_id=None, max_wait_time=None)[source]

Bases: BaseAzureServiceBusTrigger

Trigger for Azure Service Bus Topic Subscription message processing.

This trigger monitors topic subscriptions for incoming messages. It can handle multiple topics with a single subscription name, processing messages as they arrive and yielding them as trigger events.

Example:
>>> trigger = AzureServiceBusSubscriptionTrigger(
...     topics=["topic1", "topic2"],
...     subscription_name="my-subscription",
...     azure_service_bus_conn_id="my_asb_conn",
... )
Parameters:
  • topics (list[str]) – List of topic names to monitor

  • subscription_name (str) – Name of the subscription to use

  • poll_interval (float | None) – Time interval between polling operations (seconds)

  • azure_service_bus_conn_id (str | None) – Connection ID for Azure Service Bus

  • max_wait_time (float | None) – Maximum time to wait for messages (seconds)

topics[source]
subscription_name[source]
serialize()[source]

Serialize the trigger instance.

async run()[source]

Run the trigger logic.

Was this entry helpful?