Azure Service Bus Operators

Azure Service Bus 是一个完全托管的企业消息中转站,包含消息队列和发布/订阅主题(在命名空间中)。Service Bus 用于解耦应用程序和服务。Service Bus 在实体(如命名空间、队列和主题)上执行操作。

Service Bus REST API 提供了用于处理以下资源的操作
  • Azure Resource Manager

  • Service Bus 服务

Azure Service Bus 队列 Operators

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

创建 Azure Service Bus 队列

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

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

tests/system/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

下面是使用此 Operator 执行 Azure Service Bus 发送消息到队列操作的示例。

tests/system/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

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

tests/system/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

下面是使用此 Operator 执行 Azure Service Bus 删除队列操作的示例。

tests/system/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 主题 Operators

基于 Azure Service Bus 主题的 Operator 帮助与 Service Bus 命名空间中的主题进行交互,并帮助执行主题的创建、删除操作。

创建 Azure Service Bus 主题

要使用特定参数创建 Azure Service Bus 主题,可以使用 AzureServiceBusTopicCreateOperator

下面是使用此 Operator 执行 Azure Service Bus 创建主题操作的示例。

tests/system/microsoft/azure/example_azure_service_bus.py

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

删除 Azure Service Bus 主题

要删除 Azure Service Bus 主题,可以使用 AzureServiceBusTopicDeleteOperator

下面是使用此 Operator 执行 Azure Service Bus 删除主题操作的示例。

tests/system/microsoft/azure/example_azure_service_bus.py

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

Azure Service Bus 订阅 Operators

基于 Azure Service Bus 订阅的 Operator 帮助与 Service Bus 命名空间中的主题订阅进行交互,并帮助执行主题下订阅的创建、删除操作。

创建 Azure Service Bus 订阅

要使用特定参数创建 Azure Service Bus 主题订阅,可以使用 AzureServiceBusSubscriptionCreateOperator

下面是使用此 Operator 执行 Azure Service Bus 创建订阅操作的示例。

tests/system/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 Service Bus 订阅

要使用特定参数更新已创建的 Azure Service Bus 主题订阅,可以使用 AzureServiceBusUpdateSubscriptionOperator

下面是使用此 Operator 执行 Azure Service Bus 更新订阅操作的示例。

tests/system/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 Service Bus 订阅消息

要从特定主题下的 Service Bus 订阅接收批量消息,可以使用 ASBReceiveSubscriptionMessageOperator

下面是使用此 Operator 执行 Azure Service Bus 接收订阅消息操作的示例。

tests/system/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 Service Bus 订阅

要删除 Azure Service Bus 主题订阅,可以使用 AzureServiceBusSubscriptionDeleteOperator

下面是使用此 Operator 执行 Azure Service Bus 删除主题下订阅操作的示例。

tests/system/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 文档

本条目是否有帮助?