使用 Azure Resource Manager 範本建立命名空間和佇列的服務匯流排授權規則

本文說明如何使用 Azure Resource Manager 範本,建立服務匯流排命名空間和佇列的授權規則。 本文說明如何指定要部署哪些資源,以及如何定義執行部署時所指定的參數。 您可以直接在自己的部署中使用此範本,或自訂此範本以符合您的需求。

如需建立範本的詳細資訊,請參閱 編寫 Azure Resource Manager 範本

如需完整的範本,請參閱 GitHub 上的服務匯流排授權規則範本

注意

下列 Azure Resource Manager 範本可供下載和部署。

若要檢查最新的範本,請造訪 Azure 快速入門範本資源庫,並搜尋服務匯流排

注意

建議您使用 Azure Az PowerShell 模組來與 Azure 互動。 請參閱安裝 Azure PowerShell 以開始使用。 若要了解如何移轉至 Az PowerShell 模組,請參閱將 Azure PowerShell 從 AzureRM 移轉至 Az

您將部署什麼?

使用此範本,您將部署命名空間和訊息實體 (在此情況下為佇列) 的服務匯流排授權規則。

此範本使用共用存取簽章 (SAS) 進行驗證。 SAS 可讓應用程式使用在命名空間或在與特定權限相關聯的訊息實體 (佇列或主題) 上設定的存取金鑰,向服務匯流排進行驗證。 您可以接著使用此金鑰來產生 SAS 權杖,以便用戶端用來向服務匯流排進行驗證。

若要自動執行部署,請按一下下列按鈕:

Deploy to Azure

參數

透過 Azure 資源管理員,您可以定義在部署範本時想要指定之值的參數。 此範本有一個 Parameters 區段,內含所有參數值。 您應該為會隨著要部署的專案或要部署到的環境而變化的值定義參數。 請不要為永遠保持不變的值定義參數。 每個參數值都可在範本中用來定義所部署的資源。

範本會定義下列參數。

serviceBusNamespaceName

要建立的服務匯流排命名空間名稱。

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

namespaceAuthorizationRuleName

命名空間的授權規則名稱。

"namespaceAuthorizationRuleName ": {
"type": "string"
}

serviceBusQueueName

服務匯流排命名空間中的佇列名稱。

"serviceBusQueueName": {
"type": "string"
}

serviceBusApiVersion

範本的服務匯流排 API 版本。

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

要部署的資源

建立 訊息類型的標準服務匯流排命名空間,以及命名空間和實體的服務匯流排授權規則。

"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('serviceBusQueueName')]",
                    "type": "Queues",
                    "dependsOn": [
                        "[concat('Microsoft.ServiceBus/namespaces/', parameters('serviceBusNamespaceName'))]"
                    ],
                    "properties": {
                        "path": "[parameters('serviceBusQueueName')]"
                    },
                    "resources": [
                        {
                            "apiVersion": "[variables('sbVersion')]",
                            "name": "[parameters('queueAuthorizationRuleName')]",
                            "type": "authorizationRules",
                            "dependsOn": [
                                "[parameters('serviceBusQueueName')]"
                            ],
                            "properties": {
                                "Rights": ["Listen"]
                            }
                        }
                    ]
                }
            ]
        }, {
            "apiVersion": "[variables('sbVersion')]",
            "name": "[variables('namespaceAuthRuleName')]",
            "type": "Microsoft.ServiceBus/namespaces/authorizationRules",
            "dependsOn": ["[concat('Microsoft.ServiceBus/namespaces/', parameters('serviceBusNamespaceName'))]"],
            "location": "[resourceGroup().location]",
            "properties": {
                "Rights": ["Send"]
            }
        }
    ]

若要了解 JSON 語法和屬性,請參閱命名空間佇列AuthorizationRules

執行部署的命令

若要將資源部署至 Azure,您必須登入 Azure 帳戶,而且必須使用 Azure Resource Manager 模組。 若要了解如何搭配使用 Azure 資源管理員與 Azure PowerShell 或 Azure CLI,請參閱:

下例假設您的帳戶中已經有已指定名稱的資源群組。

PowerShell

New-AzResourceGroupDeployment -ResourceGroupName \<resource-group-name\> -TemplateFile <https://raw.githubusercontent.com/azure/azure-quickstart-templates/master/quickstarts/microsoft.servicebus/servicebus-create-authrule-namespace-and-queue/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/quickstarts/microsoft.servicebus/servicebus-create-authrule-namespace-and-queue/azuredeploy.json>

下一步

現在您已使用 Azure Resource Manager 建立並部署資源,請檢視這些文件,了解如何管理這些資源︰