クイックスタート: Azure Resource Manager テンプレートを使用したトピックとサブスクリプションを含んだ Service Bus 名前空間の作成

この記事では、Azure Resource Manager テンプレートを使用して、Service Bus 名前空間と、その名前空間内のトピックとサブスクリプションを作成する方法について説明します。 この記事では、デプロイ対象のリソースを定義する方法と、デプロイの実行時に指定されるパラメーターを指定する方法を説明します。 このテンプレートは、独自のデプロイに使用することも、要件に合わせてカスタマイズすることもできます。

テンプレートの作成の詳細については、「 Azure Resource Manager のテンプレートの作成」を参照してください。

完全なテンプレートについては、Service Bus の名前空間にトピックとサブスクリプションを追加するテンプレートを参照してください。

注意

次の Azure Resource Manager テンプレートは、ダウンロードしてデプロイすることができます。

最新のテンプレートを確認する場合は、「Azure クイックスタート テンプレート」ギャラリーで "Service Bus" を検索してください。

デプロイ対象

このテンプレートでデプロイされるのは、トピックとサブスクリプションを含んだ Service Bus 名前空間です。

Service Bus のトピックとサブスクリプションは、"発行とサブスクライブ" のパターンで一対多の形式の通信を実現します。

デプロイメントを自動的に実行するには、次のボタンをクリックします。

Azure へのデプロイ

パラメーター

Azure リソース マネージャーを使用して、テンプレートのデプロイ時に値を指定するパラメーターを定義します。 テンプレートには、すべてのパラメーター値を含む Parameters という名前のセクションがあります。 これらの値用のパラメーターを定義する必要があります。これらの値は、デプロイするプロジェクトあるいはデプロイ先の環境によって異なります。 常に同じ値に対してはパラメーターを定義しないでください。 テンプレート内のそれぞれのパラメーターの値は、デプロイされるリソースを定義するために使用されます。

このテンプレートでは、次のパラメーターを定義します。

serviceBusNamespaceName

作成する Service Bus 名前空間の名前。

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

serviceBusTopicName

Service Bus 名前空間に作成するトピックの名前。

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

serviceBusSubscriptionName

Service Bus 名前空間に作成するサブスクリプションの名前。

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

serviceBusApiVersion

テンプレートの Service Bus API バージョン。

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

デプロイ対象のリソース

Messaging タイプの標準的な Service Bus 名前空間を作成し、トピックとサブスクリプションを追加します。

"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": {}
            }]
        }]
    }]

JSON の構文とプロパティについては、namespacestopicssubscriptions のページを参照してください。

デプロイを実行するコマンド

リソースを Azure にデプロイするには、Azure アカウントにサインインし、Azure Resource Manager モジュールを使用する必要があります。 Azure リソース マネージャーを 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

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

次のステップ

Azure Resource Manager を使ってリソースを作成、デプロイしたら、それらのリソースを管理する方法を次の記事で確認しましょう。