快速入门:使用 Bicep 文件创建服务总线命名空间和队列

本文介绍如何使用 Bicep 文件创建服务总线命名空间和该命名空间内的队列。 本文介绍如何指定要部署的资源以及如何定义执行部署时指定的参数。 可以将此 Bicep 文件用于自己的部署,或对其进行自定义以满足要求。

Bicep 是一种特定于域的语言 (DSL),使用声明性语法来部署 Azure 资源。 它提供简明的语法、可靠的类型安全性以及对代码重用的支持。 Bicep 会针对你的 Azure 基础结构即代码解决方案提供最佳创作体验。

先决条件

如果没有 Azure 订阅,请在开始前创建一个试用版订阅

查阅 Bicep 文件

本快速入门中使用的 Bicep 文件来自 Azure 快速入门模板

@description('Name of the Service Bus namespace')
param serviceBusNamespaceName string

@description('Name of the Queue')
param serviceBusQueueName string

@description('Location for all resources.')
param location string = resourceGroup().location

resource serviceBusNamespace 'Microsoft.ServiceBus/namespaces@2022-01-01-preview' = {
  name: serviceBusNamespaceName
  location: location
  sku: {
    name: 'Standard'
  }
  properties: {}
}

resource serviceBusQueue 'Microsoft.ServiceBus/namespaces/queues@2022-01-01-preview' = {
  parent: serviceBusNamespace
  name: serviceBusQueueName
  properties: {
    lockDuration: 'PT5M'
    maxSizeInMegabytes: 1024
    requiresDuplicateDetection: false
    requiresSession: false
    defaultMessageTimeToLive: 'P10675199DT2H48M5.4775807S'
    deadLetteringOnMessageExpiration: false
    duplicateDetectionHistoryTimeWindow: 'PT10M'
    maxDeliveryCount: 10
    autoDeleteOnIdle: 'P10675199DT2H48M5.4775807S'
    enablePartitioning: false
    enableExpress: false
  }
}

该 Bicep 文件中定义的资源包括:

可以从 Azure 快速入门模板中找到更多 Bicep/ARM 模板

部署 Bicep 文件

使用此 Bicep 文件,部署包含队列的服务总线命名空间。

服务总线队列为一个或多个竞争使用方提供先入先出 (FIFO) 消息传送方式。

  1. 将该 Bicep 文件另存为本地计算机上的 main.bicep。

  2. 使用 Azure CLI 或 Azure PowerShell 来部署该 Bicep 文件。

    az group create --name exampleRG --location chinaeast
    az deployment group create --resource-group exampleRG --template-file main.bicep
    

    系统将提示你输入以下参数值:

    • serviceBusNamespaceName:服务总线命名空间的名称。
    • serviceBusQueueName:队列的名称。

    部署完成后,应会看到一条指出部署成功的消息。

验证部署

使用 Azure 门户、Azure CLI 或 Azure PowerShell 列出资源组中已部署的资源。

az resource list --resource-group exampleRG

清理资源

如果不再需要,请使用 Azure 门户、Azure CLI 或 Azure PowerShell 删除 VM 和资源组中的所有资源。

az group delete --name exampleRG

后续步骤

请参阅以下主题,其中介绍了如何创建命名空间/队列的授权规则:

使用 ARM 模板为命名空间和队列创建服务总线授权规则

查看以下文章了解如何管理这些资源: