クイックスタート: Azure Resource Manager テンプレートを使用したトピックとサブスクリプションを含んだ Service Bus 名前空間の作成
この記事では、Azure Resource Manager テンプレートを使用して、Service Bus 名前空間と、その名前空間内のトピックとサブスクリプションを作成する方法について説明します。 この記事では、デプロイ対象のリソースを定義する方法と、デプロイの実行時に指定されるパラメーターを指定する方法を説明します。 このテンプレートは、独自のデプロイに使用することも、要件に合わせてカスタマイズすることもできます。
テンプレートの作成の詳細については、「 Azure Resource Manager のテンプレートの作成」を参照してください。
完全なテンプレートについては、Service Bus の名前空間にトピックとサブスクリプションを追加するテンプレートを参照してください。
Note
次の Azure Resource Manager テンプレートは、ダウンロードしてデプロイすることができます。
- Service Bus 名前空間の作成
- キューを含んだ Service Bus 名前空間を作成する
- キューと承認規則を含んだ Service Bus 名前空間を作成する
- トピック、サブスクリプション、ルールを含んだ Service Bus の名前空間を作成する
最新のテンプレートを確認する場合は、「Azure クイックスタート テンプレート」ギャラリーで "Service Bus" を検索してください。
デプロイ対象
このテンプレートでデプロイされるのは、トピックとサブスクリプションを含んだ Service Bus 名前空間です。
Service Bus のトピックとサブスクリプションは、"発行とサブスクライブ" のパターンで一対多の形式の通信を実現します。
デプロイメントを自動的に実行するには、次のボタンをクリックします。
パラメーター
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 の構文とプロパティについては、namespaces、topics、subscriptions のページを参照してください。
デプロイを実行するコマンド
リソースを Azure にデプロイするには、Azure アカウントにサインインし、Azure Resource Manager モジュールを使用する必要があります。 Azure リソース マネージャーを Azure PowerShell または Azure CLI で使用する方法については、次のトピックを参照してください。
- 「Azure PowerShell を使用した Azure リソースの管理」
- Manage Azure resources by using Azure CLI (Azure CLI を使用して Azure リソースを管理する)。
次の例では、指定した名前のアカウントにリソース グループが既にあるものと想定しています。
PowerShell
New-AzureResourceGroupDeployment -Name \<deployment-name\> -ResourceGroupName \<resource-group-name\> -TemplateUri <https://raw.githubusercontent.com/azure/azure-quickstart-templates/master/quickstarts/microsoft.servicebus/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/quickstarts/microsoft.servicebus/servicebus-create-topic-and-subscription/azuredeploy.json>
次のステップ
Azure Resource Manager を使ってリソースを作成、デプロイしたら、それらのリソースを管理する方法を次の記事で確認しましょう。