使用 Azure CLI 创建服务总线命名空间和队列

本快速入门介绍如何使用 Azure CLI 创建服务总线命名空间和队列。 本快速入门还介绍了如何获取客户端应用程序向队列发送消息或从队列接收消息所使用的授权凭据。

什么是 Service Bus 队列?

服务总线队列支持中转消息传送通信模型。 在使用队列时,分布式应用程序的组件不会直接相互通信,而是通过充当中介(代理)的队列交换消息。 消息创建方(发送方)将消息传送到队列,然后继续对其进行处理。 消息使用方(接收方)以异步方式从队列中提取消息并处理它。 创建方不必等待使用方的答复即可继续处理并发送更多消息。 队列为一个或多个竞争使用方提供 先入先出 (FIFO) 消息传递方式。 也就是说,接收方通常会按照消息添加到队列中的顺序来接收并处理消息,并且每条消息仅由一个消息使用方接收并处理。

QueueConcepts

Service Bus 队列是一种可用于各种应用场景的通用技术:

  • 多层 Azure 应用程序中 Web 角色和辅助角色之间的通信。
  • 混合解决方案中本地应用程序和 Azure 托管应用程序之间的通信。
  • 在不同组织或组织的各部门中本地运行的分布式应用程序组件之间的通信。

利用队列,可以更轻松地缩放应用程序,并增强体系结构的弹性。

先决条件

如果没有 Azure 订阅,可在开始前创建一个试用帐户

可以在本地计算机上安装 Azure CLI

备注

请先运行 az cloud set -n AzureChinaCloud 更改云环境,然后才能在 Azure 中国世纪互联中使用 Azure CLI。 若要切换回 Azure 公有云,请再次运行 az cloud set -n AzureCloud

预配资源

  1. 运行以下命令来创建 Azure 资源组。 如有需要,请更新资源组名称和位置。

    az group create --name ContosoRG --location chinaeast
    
  2. 运行以下命令以创建服务总线消息命名空间。

    az servicebus namespace create --resource-group ContosoRG --name ContosoSBusNS --location chinaeast
    
  3. 运行以下命令,在上一步中创建的命名空间中创建一个队列。 在此示例中,ContosoRG 是在上一步中创建的资源组。 ContosoSBusNS 是在该资源组中创建的服务总线命名空间的名称。

    az servicebus queue create --resource-group ContosoRG --namespace-name ContosoSBusNS --name ContosoOrdersQueue
    
  4. 运行以下命令,获取命名空间的主连接字符串。 使用此连接字符串连接到队列并发送和接收消息。

    az servicebus namespace authorization-rule keys list --resource-group ContosoRG --namespace-name ContosoSBusNS --name RootManageSharedAccessKey --query primaryConnectionString --output tsv    
    

    请记下该连接字符串和队列名称。 使用它们发送和接收消息。

后续步骤

在本文中,你创建了服务总线命名空间并在其中创建了队列。 若要了解如何向队列发送消息或从队列接收消息,请参阅“发送和接收消息”部分中的以下某个快速入门。