airflow.providers.microsoft.azure.operators.asb

模块内容

AzureServiceBusCreateQueueOperator

在服务总线命名空间下创建 Azure 服务总线队列。

AzureServiceBusSendMessageOperator

将消息或批量消息发送到服务总线队列。

AzureServiceBusReceiveMessageOperator

在指定的队列名称中一次接收一批消息。

AzureServiceBusDeleteQueueOperator

删除 Azure 服务总线命名空间中的队列。

AzureServiceBusTopicCreateOperator

在服务总线命名空间下创建 Azure 服务总线主题。

AzureServiceBusSubscriptionCreateOperator

在服务总线命名空间下创建 Azure 服务总线主题订阅。

AzureServiceBusUpdateSubscriptionOperator

更新服务总线命名空间下的 Azure 服务总线主题订阅。

ASBReceiveSubscriptionMessageOperator

从特定主题下的服务总线订阅接收批量消息。

AzureServiceBusSubscriptionDeleteOperator

删除 Azure 服务总线命名空间中的主题订阅。

AzureServiceBusTopicDeleteOperator

删除 Azure 服务总线命名空间中的主题。

属性

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

在服务总线命名空间下创建 Azure 服务总线队列。

另请参阅

有关如何使用此运算符的更多信息,请查看指南:创建 Azure 服务总线队列

参数
  • 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 服务总线连接的引用。

template_fields: collections.abc.Sequence[str] = ('queue_name',)[源代码]
ui_color = '#e4f0e8'[源代码]
execute(context)[源代码]

通过连接到 Hook 中的服务总线管理员客户端,在 Azure 服务总线命名空间中创建队列。

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

将消息或批量消息发送到服务总线队列。

另请参阅

有关如何使用此运算符的更多信息,请查看指南:向 Azure 服务总线队列发送消息

参数
  • queue_name (str) – 队列的名称。应该是唯一的。

  • message (str | list[str]) – 需要发送到队列的消息。它可以是字符串或字符串列表。

  • batch (bool) – 这是一个布尔标志,默认设置为 False。如果需要将消息作为批量消息发送,则可以将其设置为 True。

  • azure_service_bus_conn_id (str) – 对 :ref: Azure 服务总线连接<howto/connection:azure_service_bus> 的引用。

template_fields: collections.abc.Sequence[str] = ('queue_name',)[源代码]
ui_color = '#e4f0e8'[源代码]
execute(context)[source]

将消息发送到服务总线命名空间中的特定队列。

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)[source]

基类:airflow.models.BaseOperator

在指定的队列名称中一次接收一批消息。

另请参阅

有关如何使用此运算符的更多信息,请查看指南:接收 Azure 服务总线队列消息

参数
  • queue_name (str) – 队列的名称或具有名称的 QueueProperties。

  • max_message_count (int) – 批处理中的最大消息数。

  • max_wait_time (float) – 等待第一条消息到达的最长时间(以秒为单位)。

  • azure_service_bus_conn_id (str) – 引用:ref: Azure 服务总线连接 <howto/connection:azure_service_bus>

  • message_callback (MessageCallback | None) – 用于处理每条消息的可选回调。如果未提供,则将记录并完成消息。如果提供,并且抛出异常,则将放弃该消息以供将来重新传递。

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

通过连接到服务总线客户端,在服务总线命名空间中的特定队列中接收消息。

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

基类:airflow.models.BaseOperator

删除 Azure 服务总线命名空间中的队列。

另请参阅

有关如何使用此运算符的更多信息,请查看指南:删除 Azure 服务总线队列

参数
  • queue_name (str) – 服务总线命名空间中队列的名称。

  • azure_service_bus_conn_id (str) – 引用:ref: Azure 服务总线连接 <howto/connection:azure_service_bus>

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

通过连接到服务总线管理客户端,删除服务总线命名空间中的队列。

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)[source]

基类:airflow.models.BaseOperator

在服务总线命名空间下创建 Azure 服务总线主题。

另请参阅

有关如何使用此运算符的更多信息,请查看指南:创建 Azure 服务总线主题

参数
  • topic_name (str) – 主题的名称。

  • default_message_time_to_live (datetime.timedelta | str | None) – ISO 8601 默认消息生存时间值。 这是消息过期后的持续时间,从消息发送到服务总线时开始计算。 这是在消息本身未设置 TimeToLive 时使用的默认值。 接受 ~datetime.timedelta 类型或 ISO 8601 持续时间格式的字符串(如“PT300S”)的输入值。

  • max_size_in_megabytes (int | None) – 主题的最大大小(以兆字节为单位),即为主题分配的内存大小。

  • 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) – 队列可接受的消息负载的最大大小(以千字节为单位)。此功能仅在使用高级命名空间和 Service Bus API 版本“2021-05”或更高版本时可用。允许的最小值是 1024,允许的最大值是 102400。默认值为 1024。

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

通过连接到 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)[source]

基类:airflow.models.BaseOperator

在服务总线命名空间下创建 Azure 服务总线主题订阅。

另请参阅

有关如何使用此运算符的更多信息,请查看本指南:创建 Azure 服务总线订阅

参数
  • topic_name (str) – 将拥有要创建的订阅的主题。

  • subscription_name (str) – 需要创建的订阅的名称

  • lock_duration (datetime.timedelta | str | None) – peek-lock 的 ISO 8601 时间跨度持续时间;即消息被锁定以供其他接收者使用的时间量。LockDuration 的最大值为 5 分钟;默认值为 1 分钟。接受 ~datetime.timedelta 类型的值或 ISO 8601 持续时间格式的字符串(如“PT300S”)。

  • requires_session (bool | None) – 指示队列是否支持会话概念的值。

  • default_message_time_to_live (datetime.timedelta | str | None) – ISO 8601 默认消息生存时间值。 这是消息过期后的持续时间,从消息发送到服务总线时开始计算。 这是在消息本身未设置 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 服务总线连接的引用。

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

通过连接到 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)[源代码]

基类:airflow.models.BaseOperator

更新服务总线命名空间下的 Azure 服务总线主题订阅。

另请参阅

有关如何使用此操作符的更多信息,请查看指南:更新 Azure 服务总线订阅

参数
  • 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 服务总线连接的引用。

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

通过连接到 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)[源代码]

基类:airflow.models.BaseOperator

从特定主题下的服务总线订阅接收批量消息。

另请参阅

有关如何使用此操作符的更多信息,请查看指南:接收 Azure 服务总线订阅消息

参数
  • 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 服务总线连接的引用。

  • message_callback (MessageCallback | None) – 用于处理每条消息的可选回调。如果未提供,则将记录并完成消息。如果提供,并且抛出异常,则将放弃该消息以供将来重新传递。

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

通过连接到服务总线客户端,在服务总线命名空间中的特定队列中接收消息。

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

基类:airflow.models.BaseOperator

删除 Azure 服务总线命名空间中的主题订阅。

另请参阅

有关如何使用此操作符的更多信息,请查看指南:删除 Azure 服务总线订阅

参数
  • topic_name (str) – 将拥有要创建的订阅的主题。

  • subscription_name (str) – 需要创建的订阅的名称

  • azure_service_bus_conn_id (str) – 对 Azure 服务总线连接的引用。

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

通过连接到服务总线管理客户端,删除服务总线命名空间中的主题订阅。

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

基类:airflow.models.BaseOperator

删除 Azure 服务总线命名空间中的主题。

另请参阅

有关如何使用此操作符的更多信息,请参阅指南:删除 Azure 服务总线主题

参数
template_fields: collections.abc.Sequence[str] = ('topic_name',)[源代码]
ui_color = '#e4f0e8'[源代码]
execute(context)[源代码]

通过连接到服务总线管理客户端,删除服务总线命名空间中的主题。

此条目是否有帮助?