airflow.providers.microsoft.azure.operators.asb

模組內容

類別

AzureServiceBusCreateQueueOperator

在 Service Bus 命名空間下建立 Azure Service Bus 佇列。

AzureServiceBusSendMessageOperator

發送訊息或批次訊息到 Service Bus 佇列。

AzureServiceBusReceiveMessageOperator

在指定的佇列名稱中一次接收一批訊息。

AzureServiceBusDeleteQueueOperator

刪除 Azure Service Bus 命名空間中的佇列。

AzureServiceBusTopicCreateOperator

在 Service Bus 命名空間下建立 Azure Service Bus 主題。

AzureServiceBusSubscriptionCreateOperator

在 Service Bus 命名空間下建立 Azure Service Bus 主題訂閱。

AzureServiceBusUpdateSubscriptionOperator

更新 Service Bus 命名空間下的 Azure Service Bus 主題訂閱。

ASBReceiveSubscriptionMessageOperator

從特定主題下的 Service Bus 訂閱接收批次訊息。

AzureServiceBusSubscriptionDeleteOperator

刪除 Azure Service Bus 命名空間中的主題訂閱。

AzureServiceBusTopicDeleteOperator

刪除 Azure Service Bus 命名空間中的主題。

屬性

MessageCallback

airflow.providers.microsoft.azure.operators.asb.MessageCallback[原始碼]
class airflow.providers.microsoft.azure.operators.asb.AzureServiceBusCreateQueueOperator(*, queue_name, max_delivery_count=10, dead_lettering_on_message_expiration=True, enable_batched_operations=True, azure_service_bus_conn_id='azure_service_bus_default', **kwargs)[原始碼]

繼承自: airflow.models.BaseOperator

在 Service Bus 命名空間下建立 Azure Service Bus 佇列。

另請參閱

關於如何使用此運算子的更多資訊,請參閱指南: 建立 Azure Service Bus 佇列

參數
  • queue_name (str) – 佇列的名稱。應為唯一。

  • max_delivery_count (int) – 最大傳遞計數。訊息在傳遞次數達到此數字後將自動進入死信佇列。預設值為 10。

  • dead_lettering_on_message_expiration (bool) – 一個值,指示當訊息過期時,此訂閱是否具有死信支援。

  • enable_batched_operations (bool) – 一個值,指示是否啟用伺服器端批次操作。

  • azure_service_bus_conn_id (str) – 參考至 Azure Service Bus 連線

template_fields: collections.abc.Sequence[str] = ('queue_name',)[原始碼]
ui_color = '#e4f0e8'[原始碼]
execute(context)[原始碼]

透過連線到 Service Bus Hook 中的 Service Bus 管理用戶端,在 Azure Service Bus 命名空間中建立佇列。

class airflow.providers.microsoft.azure.operators.asb.AzureServiceBusSendMessageOperator(*, queue_name, message, batch=False, azure_service_bus_conn_id='azure_service_bus_default', **kwargs)[原始碼]

繼承自: airflow.models.BaseOperator

發送訊息或批次訊息到 Service Bus 佇列。

另請參閱

關於如何使用此運算子的更多資訊,請參閱指南: 發送訊息到 Azure Service Bus 佇列

參數
  • queue_name (str) – 佇列的名稱。應為唯一。

  • message (str | list[str]) – 需要發送到佇列的訊息。它可以是字串或字串列表。

  • batch (bool) – 它的布林標誌預設設定為 False,如果訊息需要以批次訊息發送,則可以設定為 True。

  • azure_service_bus_conn_id (str) – 參考至 :ref: Azure Service Bus 連線<howto/connection:azure_service_bus>

template_fields: collections.abc.Sequence[str] = ('queue_name',)[原始碼]
ui_color = '#e4f0e8'[原始碼]
execute(context)[原始碼]

發送訊息到 Service Bus 命名空間中的特定佇列。

class airflow.providers.microsoft.azure.operators.asb.AzureServiceBusReceiveMessageOperator(*, queue_name, azure_service_bus_conn_id='azure_service_bus_default', max_message_count=10, max_wait_time=5, message_callback=None, **kwargs)[原始碼]

繼承自: airflow.models.BaseOperator

在指定的佇列名稱中一次接收一批訊息。

另請參閱

關於如何使用此運算子的更多資訊,請參閱指南: 接收 Azure Service Bus 佇列訊息

參數
  • queue_name (str) – 佇列名稱或具有名稱的 QueueProperties 的名稱。

  • max_message_count (int) – 批次中的最大訊息數量。

  • max_wait_time (float) – 等待第一個訊息到達的最長秒數。

  • azure_service_bus_conn_id (str) – 參考至 :ref: Azure Service Bus 連線 <howto/connection:azure_service_bus>

  • message_callback (MessageCallback | None) – 處理每個訊息的可選回調。如果未提供,則訊息將被記錄並完成。如果提供,並且拋出異常,則訊息將被放棄以供將來重新傳遞。

template_fields: collections.abc.Sequence[str] = ('queue_name',)[原始碼]
ui_color = '#e4f0e8'[原始碼]
execute(context)[原始碼]

透過連線到 Service Bus 用戶端,在 Service Bus 命名空間中的特定佇列中接收訊息。

class airflow.providers.microsoft.azure.operators.asb.AzureServiceBusDeleteQueueOperator(*, queue_name, azure_service_bus_conn_id='azure_service_bus_default', **kwargs)[原始碼]

繼承自: airflow.models.BaseOperator

刪除 Azure Service Bus 命名空間中的佇列。

另請參閱

關於如何使用此運算子的更多資訊,請參閱指南: 刪除 Azure Service Bus 佇列

參數
  • queue_name (str) – Service Bus 命名空間中佇列的名稱。

  • azure_service_bus_conn_id (str) – 參考至 :ref: Azure Service Bus 連線 <howto/connection:azure_service_bus>

template_fields: collections.abc.Sequence[str] = ('queue_name',)[原始碼]
ui_color = '#e4f0e8'[原始碼]
execute(context)[原始碼]

透過連線到 Service Bus 管理用戶端,刪除 Service Bus 命名空間中的佇列。

class airflow.providers.microsoft.azure.operators.asb.AzureServiceBusTopicCreateOperator(*, topic_name, azure_service_bus_conn_id='azure_service_bus_default', default_message_time_to_live=None, max_size_in_megabytes=None, requires_duplicate_detection=None, duplicate_detection_history_time_window=None, enable_batched_operations=None, size_in_bytes=None, filtering_messages_before_publishing=None, authorization_rules=None, support_ordering=None, auto_delete_on_idle=None, enable_partitioning=None, enable_express=None, user_metadata=None, max_message_size_in_kilobytes=None, **kwargs)[原始碼]

繼承自: airflow.models.BaseOperator

在 Service Bus 命名空間下建立 Azure Service Bus 主題。

另請參閱

關於如何使用此運算子的更多資訊,請參閱指南: 建立 Azure Service Bus 主題

參數
  • topic_name (str) – 主題的名稱。

  • default_message_time_to_live (datetime.timedelta | str | None) – ISO 8601 預設訊息存活時間值。這是訊息從發送到 Service Bus 後過期的持續時間。這是當訊息本身未設定 TimeToLive 時使用的預設值。接受 ~datetime.timedelta 類型或 ISO 8601 持續時間格式(如“PT300S”)的輸入值。

  • max_size_in_megabytes (int | None) – 主題的最大大小 (MB),即為主題分配的記憶體大小。

  • requires_duplicate_detection (bool | None) – 一個值,指示此主題是否需要重複偵測。

  • duplicate_detection_history_time_window (datetime.timedelta | str | None) – ISO 8601 時間跨度結構,定義重複偵測歷史的持續時間。預設值為 10 分鐘。接受 ~datetime.timedelta 類型或 ISO 8601 持續時間格式(如“PT300S”)的輸入值。

  • enable_batched_operations (bool | None) – 一個值,指示是否啟用伺服器端批次操作。

  • size_in_bytes (int | None) – 主題的大小,以位元組為單位。

  • filtering_messages_before_publishing (bool | None) – 發布前篩選訊息。

  • authorization_rules (list[azure.servicebus.management._models.AuthorizationRule] | None) – 資源的授權規則列表。

  • support_ordering (bool | None) – 一個值,指示主題是否支援排序。

  • auto_delete_on_idle (datetime.timedelta | str | None) – ISO 8601 時間跨度閒置間隔,在此間隔後主題將自動刪除。最短持續時間為 5 分鐘。接受 ~datetime.timedelta 類型或 ISO 8601 持續時間格式(如“PT300S”)的輸入值。

  • enable_partitioning (bool | None) – 一個值,指示是否要跨多個訊息代理程式分割主題。

  • enable_express (bool | None) – 一個值,指示是否啟用快速實體。快速佇列在將訊息寫入持久儲存體之前,會暫時將訊息保存在記憶體中。

  • user_metadata (str | None) – 與主題關聯的中繼資料。

  • max_message_size_in_kilobytes (int | None) – 佇列可以接受的最大訊息酬載大小 (KB)。此功能僅在使用 Premium 命名空間和 Service Bus API 版本“2021-05”或更高版本時可用。允許的最小值為 1024,而允許的最大值為 102400。預設值為 1024。

template_fields: collections.abc.Sequence[str] = ('topic_name',)[原始碼]
ui_color = '#e4f0e8'[原始碼]
execute(context)[原始碼]

透過連線到 Service Bus 管理用戶端,在 Service Bus 命名空間中建立主題。

class airflow.providers.microsoft.azure.operators.asb.AzureServiceBusSubscriptionCreateOperator(*, topic_name, subscription_name, azure_service_bus_conn_id='azure_service_bus_default', lock_duration=None, requires_session=None, default_message_time_to_live=None, dead_lettering_on_message_expiration=True, dead_lettering_on_filter_evaluation_exceptions=None, max_delivery_count=10, enable_batched_operations=True, forward_to=None, user_metadata=None, forward_dead_lettered_messages_to=None, auto_delete_on_idle=None, **kwargs)[原始碼]

繼承自: airflow.models.BaseOperator

在 Service Bus 命名空間下建立 Azure Service Bus 主題訂閱。

另請參閱

關於如何使用此運算子的更多資訊,請參閱指南: 建立 Azure Service Bus 訂閱

參數
  • topic_name (str) – 將擁有要建立的訂閱的主題。

  • subscription_name (str) – 需要建立的訂閱名稱

  • lock_duration (datetime.timedelta | str | None) – ISO 8601 peek-lock 時間跨度持續時間;也就是訊息被鎖定以供其他接收者使用的時間量。LockDuration 的最大值為 5 分鐘;預設值為 1 分鐘。接受 ~datetime.timedelta 類型或 ISO 8601 持續時間格式(如“PT300S”)的輸入值。

  • requires_session (bool | None) – 一個值,指示佇列是否支援會話的概念。

  • default_message_time_to_live (datetime.timedelta | str | None) – ISO 8601 預設訊息存活時間值。這是訊息從發送到 Service Bus 後過期的持續時間。這是當訊息本身未設定 TimeToLive 時使用的預設值。接受 ~datetime.timedelta 類型或 ISO 8601 持續時間格式(如“PT300S”)的輸入值。

  • dead_lettering_on_message_expiration (bool | None) – 一個值,指示當訊息過期時,此訂閱是否具有死信支援。

  • dead_lettering_on_filter_evaluation_exceptions (bool | None) – 一個值,指示當篩選評估異常發生時,此訂閱是否具有死信支援。

  • max_delivery_count (int | None) – 最大傳遞計數。訊息在傳遞次數達到此數字後將自動進入死信佇列。預設值為 10。

  • enable_batched_operations (bool | None) – 一個值,指示是否啟用伺服器端批次操作。

  • forward_to (str | None) – 接收者實體的名稱,所有發送到訂閱的訊息都將轉發到該實體。

  • user_metadata (str | None) – 與訂閱關聯的中繼資料。最大字元數為 1024。

  • forward_dead_lettered_messages_to (str | None) – 接收者實體的名稱,死信訊息將轉發到該實體。

  • auto_delete_on_idle (datetime.timedelta | str | None) – ISO 8601 時間跨度閒置間隔,在此間隔後訂閱將自動刪除。最短持續時間為 5 分鐘。接受 ~datetime.timedelta 類型或 ISO 8601 持續時間格式(如“PT300S”)的輸入值。

  • azure_service_bus_conn_id (str) – 參考至 Azure Service Bus 連線

template_fields: collections.abc.Sequence[str] = ('topic_name', 'subscription_name')[原始碼]
ui_color = '#e4f0e8'[原始碼]
execute(context)[source]

透過連線至 Service Bus 管理用戶端,在 Service Bus 命名空間中建立訂閱。

class airflow.providers.microsoft.azure.operators.asb.AzureServiceBusUpdateSubscriptionOperator(*, topic_name, subscription_name, max_delivery_count=None, dead_lettering_on_message_expiration=None, enable_batched_operations=None, azure_service_bus_conn_id='azure_service_bus_default', **kwargs)[source]

繼承自: airflow.models.BaseOperator

更新 Service Bus 命名空間下的 Azure Service Bus 主題訂閱。

另請參閱

如需瞭解如何使用此運算子的更多資訊,請參閱指南:更新 Azure Service Bus 訂閱

參數
  • topic_name (str) – 將擁有要建立的訂閱的主題。

  • subscription_name (str) – 需要建立的訂閱名稱。

  • max_delivery_count (int | None) – 最大傳遞計數。訊息在傳遞次數達到此數字後將自動進入死信佇列。預設值為 10。

  • dead_lettering_on_message_expiration (bool | None) – 一個值,指示當訊息過期時,此訂閱是否具有死信支援。

  • enable_batched_operations (bool | None) – 一個值,指示是否啟用伺服器端批次操作。

  • azure_service_bus_conn_id (str) – 參考至 Azure Service Bus 連線

template_fields: collections.abc.Sequence[str] = ('topic_name', 'subscription_name')[source]
ui_color = '#e4f0e8'[source]
execute(context)[source]

透過連線至 Service Bus 管理用戶端,更新訂閱屬性。

class airflow.providers.microsoft.azure.operators.asb.ASBReceiveSubscriptionMessageOperator(*, topic_name, subscription_name, max_message_count=1, max_wait_time=5, azure_service_bus_conn_id='azure_service_bus_default', message_callback=None, **kwargs)[source]

繼承自: airflow.models.BaseOperator

從特定主題下的 Service Bus 訂閱接收批次訊息。

另請參閱

如需瞭解如何使用此運算子的更多資訊,請參閱指南:接收 Azure Service Bus 訂閱訊息

參數
  • subscription_name (str) – 將擁有主題中規則的訂閱名稱

  • topic_name (str) – 將擁有訂閱規則的主題。

  • max_message_count (int | None) – 批次中的最大訊息數。實際傳回的數量將取決於 prefetch_count 和傳入的串流速率。設定為 None 將完全取決於預先擷取設定。預設值為 1。

  • max_wait_time (float | None) – 等待第一則訊息到達的最長秒數。如果沒有訊息到達,且未指定逾時,則此呼叫將不會傳回,直到連線關閉為止。如果已指定,且在逾時期間內沒有訊息到達,則將傳回空列表。

  • azure_service_bus_conn_id (str) – 參考至 Azure Service Bus 連線

  • message_callback (MessageCallback | None) – 處理每個訊息的可選回調。如果未提供,則訊息將被記錄並完成。如果提供,並且拋出異常,則訊息將被放棄以供將來重新傳遞。

template_fields: collections.abc.Sequence[str] = ('topic_name', 'subscription_name')[source]
ui_color = '#e4f0e8'[source]
execute(context)[source]

透過連線到 Service Bus 用戶端,在 Service Bus 命名空間中的特定佇列中接收訊息。

class airflow.providers.microsoft.azure.operators.asb.AzureServiceBusSubscriptionDeleteOperator(*, topic_name, subscription_name, azure_service_bus_conn_id='azure_service_bus_default', **kwargs)[source]

繼承自: airflow.models.BaseOperator

刪除 Azure Service Bus 命名空間中的主題訂閱。

另請參閱

如需瞭解如何使用此運算子的更多資訊,請參閱指南:刪除 Azure Service Bus 訂閱

參數
  • topic_name (str) – 將擁有要建立的訂閱的主題。

  • subscription_name (str) – 需要建立的訂閱名稱

  • azure_service_bus_conn_id (str) – 參考至 Azure Service Bus 連線

template_fields: collections.abc.Sequence[str] = ('topic_name', 'subscription_name')[source]
ui_color = '#e4f0e8'[source]
execute(context)[source]

透過連線至 Service Bus 管理用戶端,刪除 Service Bus 命名空間中的主題訂閱。

class airflow.providers.microsoft.azure.operators.asb.AzureServiceBusTopicDeleteOperator(*, topic_name, azure_service_bus_conn_id='azure_service_bus_default', **kwargs)[source]

繼承自: airflow.models.BaseOperator

刪除 Azure Service Bus 命名空間中的主題。

另請參閱

如需瞭解如何使用此運算子的更多資訊,請參閱指南:刪除 Azure Service Bus 主題

參數
template_fields: collections.abc.Sequence[str] = ('topic_name',)[source]
ui_color = '#e4f0e8'[source]
execute(context)[source]

透過連線至 Service Bus 管理用戶端,刪除 Service Bus 命名空間中的主題。

這個條目是否有幫助?