Azure Service Bus 操作符

Azure Service Bus 是一个完全托管的企业消息代理,带有消息队列和发布-订阅主题(在命名空间中)。Service Bus 用于将应用程序和服务彼此解耦。Service Bus 对实体(如命名空间、队列和主题)执行操作。

Service Bus REST API 提供用于处理以下资源的操作
  • Azure 资源管理器

  • Service Bus 服务

Azure Service Bus 队列操作符

Azure Service Bus 操作符有助于与基于 Azure Bus 队列的操作进行交互,如在队列中创建、删除、发送和接收消息。

创建 Azure Service Bus 队列

要使用特定参数创建 Azure Service Bus 队列,可以使用 AzureServiceBusCreateQueueOperator

以下是使用此操作符执行 Azure Service Bus 创建队列的示例。

tests/system/providers/microsoft/azure/example_azure_service_bus.py[源代码]

create_service_bus_queue = AzureServiceBusCreateQueueOperator(
    task_id="create_service_bus_queue",
    queue_name=QUEUE_NAME,
)

向 Azure Service Bus 队列发送消息

若要向 Azure Service Bus 队列发送消息或消息列表或批处理消息。您可以使用 AzureServiceBusSendMessageOperator

以下是使用此运算符执行 Azure Service Bus 向队列发送消息的示例。

tests/system/providers/microsoft/azure/example_azure_service_bus.py[源代码]

send_message_to_service_bus_queue = AzureServiceBusSendMessageOperator(
    task_id="send_message_to_service_bus_queue",
    message=MESSAGE,
    queue_name=QUEUE_NAME,
    batch=False,
)

接收 Azure Service Bus 队列消息

若要接收队列中的消息或消息列表或批处理消息,可以使用 AzureServiceBusReceiveMessageOperator

以下是使用此操作符执行 Azure Service Bus 创建队列的示例。

tests/system/providers/microsoft/azure/example_azure_service_bus.py[源代码]

receive_message_service_bus_queue = AzureServiceBusReceiveMessageOperator(
    task_id="receive_message_service_bus_queue",
    queue_name=QUEUE_NAME,
    max_message_count=20,
    max_wait_time=5,
)

删除 Azure Service Bus 队列

若要删除 Azure Service Bus 队列,可以使用 AzureServiceBusDeleteQueueOperator

以下是使用此运算符执行 Azure Service Bus 删除队列的示例。

tests/system/providers/microsoft/azure/example_azure_service_bus.py[源代码]

delete_service_bus_queue = AzureServiceBusDeleteQueueOperator(
    task_id="delete_service_bus_queue", queue_name=QUEUE_NAME, trigger_rule="all_done"
)

Azure Service Bus 主题运算符

基于 Azure Service Bus 主题的运算符有助于与服务总线命名空间中的主题进行交互,并有助于为主题创建、删除操作。

创建 Azure Service Bus 主题

要使用特定参数创建 Azure 服务总线主题,可以使用 AzureServiceBusTopicCreateOperator

以下是使用此运算符执行 Azure 服务总线创建主题的示例。

tests/system/providers/microsoft/azure/example_azure_service_bus.py[源代码]

create_service_bus_topic = AzureServiceBusTopicCreateOperator(
    task_id="create_service_bus_topic", topic_name=TOPIC_NAME
)

删除 Azure 服务总线主题

要删除 Azure 服务总线主题,可以使用 AzureServiceBusTopicDeleteOperator

以下是使用此运算符执行 Azure 服务总线删除主题的示例。

tests/system/providers/microsoft/azure/example_azure_service_bus.py[源代码]

delete_asb_topic = AzureServiceBusTopicDeleteOperator(
    task_id="delete_asb_topic",
    topic_name=TOPIC_NAME,
)

Azure 服务总线订阅运算符

基于 Azure 服务总线订阅的运算符有助于在服务总线命名空间中交互主题订阅,并且有助于为主题下的订阅创建、删除操作。

创建 Azure 服务总线订阅

要使用特定参数创建 Azure 服务总线主题订阅,可以使用 AzureServiceBusSubscriptionCreateOperator

以下是使用此运算符执行 Azure 服务总线创建订阅的示例。

tests/system/providers/microsoft/azure/example_azure_service_bus.py[源代码]

create_service_bus_subscription = AzureServiceBusSubscriptionCreateOperator(
    task_id="create_service_bus_subscription",
    topic_name=TOPIC_NAME,
    subscription_name=SUBSCRIPTION_NAME,
)

更新 Azure 服务总线订阅

要使用特定参数更新已创建的 Azure 服务总线主题订阅,可以使用 AzureServiceBusUpdateSubscriptionOperator

以下是使用此运算符执行 Azure 服务总线更新订阅的示例。

tests/system/providers/microsoft/azure/example_azure_service_bus.py[源代码]

update_service_bus_subscription = AzureServiceBusUpdateSubscriptionOperator(
    task_id="update_service_bus_subscription",
    topic_name=TOPIC_NAME,
    subscription_name=SUBSCRIPTION_NAME,
    max_delivery_count=5,
)

接收 Azure 服务总线订阅消息

要从特定主题下的服务总线订阅接收批处理消息,可以使用 ASBReceiveSubscriptionMessageOperator

以下是使用此操作符执行 Azure 服务总线接收订阅消息的示例。

tests/system/providers/microsoft/azure/example_azure_service_bus.py[源代码]

receive_message_service_bus_subscription = ASBReceiveSubscriptionMessageOperator(
    task_id="receive_message_service_bus_subscription",
    topic_name=TOPIC_NAME,
    subscription_name=SUBSCRIPTION_NAME,
    max_message_count=10,
)

删除 Azure 服务总线订阅

要删除 Azure 服务总线主题订阅,可以使用 AzureServiceBusSubscriptionDeleteOperator

以下是使用此操作符执行主题下的 Azure 服务总线删除订阅的示例。

tests/system/providers/microsoft/azure/example_azure_service_bus.py[源代码]

delete_service_bus_subscription = AzureServiceBusSubscriptionDeleteOperator(
    task_id="delete_service_bus_subscription",
    topic_name=TOPIC_NAME,
    subscription_name=SUBSCRIPTION_NAME,
    trigger_rule="all_done",
)

参考

有关更多信息,请参阅 Microsoft 文档

此条目是否有帮助?