使用 Azure Resource Manager 模板创建包含主题和订阅的服务总线命名空间

本文介绍如何使用 Azure Resource Manager 模板创建服务总线命名空间,并且该命名空间内包含主题和订阅。 本文介绍如何指定要部署的资源以及如何定义执行部署时指定的参数。 可将此模板用于自己的部署,或自定义此模板以满足要求

有关创建模板的详细信息,请参阅 创作 Azure Resource Manager 模板

有关完整模板,请参阅包含主题和订阅的服务总线命名空间模板。

将部署什么内容?

使用此模板,将部署包含主题和订阅的服务总线命名空间。

服务总线主题和订阅以“发布/订阅”模式提供一对多的通信形式。

若要自动运行部署,请单击以下按钮:

部署到 Azure

parameters

使用 Azure 资源管理器,可以定义在部署模板时想要指定的值的参数。 该模板具有一个名为 Parameters 的部分,其中包含所有参数值。 应该为随着要部署的项目或要部署到的环境而变化的值定义参数。 不要为永远保持不变的值定义参数。 每个参数值可在模板中用来定义所部署的资源。

模板定义以下参数。

serviceBusNamespaceName

要创建的服务总线命名空间的名称。

    "serviceBusNamespaceName": {
    "type": "string"
    }

serviceBusTopicName

在服务总线命名空间中创建的主题的名称。

    "serviceBusTopicName": {
    "type": "string"
    }

serviceBusSubscriptionName

在服务总线命名空间中创建的订阅的名称。

    "serviceBusSubscriptionName": {
    "type": "string"
    }

serviceBusApiVersion

模板的服务总线 API 版本。

"serviceBusApiVersion": { 
       "type": "string", 
       "defaultValue": "2017-04-01", 
       "metadata": { 
           "description": "Service Bus ApiVersion used by the template" 
       }

要部署的资源

创建类型为 Messaging 的包含主题和订阅的标准服务总线命名空间。

    "resources ": [{
            "apiVersion": "[variables('sbVersion')]",
            "name": "[parameters('serviceBusNamespaceName')]",
            "type": "Microsoft.ServiceBus/Namespaces",
            "location": "[variables('location')]",
            "kind": "Messaging",
            "sku": {
            "name": "Standard",
            },
            "resources": [{
                "apiVersion": "[variables('sbVersion')]",
                "name": "[parameters('serviceBusTopicName')]",
                "type": "Topics",
                "dependsOn": [
                    "[concat('Microsoft.ServiceBus/namespaces/', parameters('serviceBusNamespaceName'))]"
                ],
                "properties": {
                    "path": "[parameters('serviceBusTopicName')]",
                },
                "resources": [{
                    "apiVersion": "[variables('sbVersion')]",
                    "name": "[parameters('serviceBusSubscriptionName')]",
                    "type": "Subscriptions",
                    "dependsOn": [
                        "[parameters('serviceBusTopicName')]"
                    ],
                    "properties": {}
                }]
            }]
        }]

运行部署的命令

要将资源部署到 Azure,必须登录到 Azure 帐户,并且必须使用 Azure Resource Manager 模块。 若要了解配合使用 Azure Resource Manager 和 Azure PowerShell 或 Azure CLI 的相关信息,请参阅:

以下示例假定帐户中已具有一个指定名称的资源组。

PowerShell

New-AzureResourceGroupDeployment -Name \<deployment-name\> -ResourceGroupName \<resource-group-name\> -TemplateUri <https://raw.githubusercontent.com/azure/azure-quickstart-templates/master/201-servicebus-create-topic-and-subscription/azuredeploy.json>

Azure CLI

azure config mode arm

azure group deployment create \<my-resource-group\> \<my-deployment-name\> --template-uri <https://raw.githubusercontent.com/azure/azure-quickstart-templates/master/201-servicebus-create-topic-and-subscription/azuredeploy.json>

后续步骤

现在,已使用 Azure 资源管理器创建并部署了资源,请通过查看以下文章了解如何管理这些资源: