クイック スタート:Service Bus の名前空間とキューを ARM テンプレートで作成する

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

Azure Resource Manager テンプレートは JavaScript Object Notation (JSON) ファイルであり、プロジェクトのインフラストラクチャと構成が定義されています。 このテンプレートでは、宣言型の構文が使用されています。 デプロイしようとしているものを、デプロイを作成する一連のプログラミング コマンドを記述しなくても記述できます。

環境が前提条件を満たしていて、ARM テンプレートの使用に慣れている場合は、 [Azure へのデプロイ] ボタンを選択します。 Azure portal でテンプレートが開きます。

Button to deploy the Resource Manager template to Azure.

前提条件

Azure サブスクリプションをお持ちでない場合は、開始する前に無料アカウントを作成してください。

テンプレートを確認する

このクイックスタートで使用されるテンプレートは Azure クイックスタート テンプレートからのものです。

{
  "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
  "contentVersion": "1.0.0.0",
  "metadata": {
    "_generator": {
      "name": "bicep",
      "version": "0.9.1.41621",
      "templateHash": "724589808436302889"
    }
  },
  "parameters": {
    "serviceBusNamespaceName": {
      "type": "string",
      "metadata": {
        "description": "Name of the Service Bus namespace"
      }
    },
    "serviceBusQueueName": {
      "type": "string",
      "metadata": {
        "description": "Name of the Queue"
      }
    },
    "location": {
      "type": "string",
      "defaultValue": "[resourceGroup().location]",
      "metadata": {
        "description": "Location for all resources."
      }
    }
  },
  "resources": [
    {
      "type": "Microsoft.ServiceBus/namespaces",
      "apiVersion": "2022-01-01-preview",
      "name": "[parameters('serviceBusNamespaceName')]",
      "location": "[parameters('location')]",
      "sku": {
        "name": "Standard"
      },
      "properties": {}
    },
    {
      "type": "Microsoft.ServiceBus/namespaces/queues",
      "apiVersion": "2022-01-01-preview",
      "name": "[format('{0}/{1}', parameters('serviceBusNamespaceName'), parameters('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
      },
      "dependsOn": [
        "[resourceId('Microsoft.ServiceBus/namespaces', parameters('serviceBusNamespaceName'))]"
      ]
    }
  ]
}

このテンプレートに定義されているリソースは次のとおりです。

その他のテンプレートについては、「Azure クイックスタート テンプレート」をご覧ください

テンプレートのデプロイ

このテンプレートでは、キューを含んだ Service Bus 名前空間をデプロイします。

Service Bus キューでは、コンシューマーが競合している場合のメッセージ配信に先入れ先出し法 (FIFO) を使用します。

デプロイメントを自動的に実行するには、次のボタンをクリックします。後で簡単にクリーンアップできるよう、デプロイ用に新しいリソース グループを作成してください。

Button to deploy the Resource Manager template to Azure.

デプロイの検証

  1. 上部にある [通知] を選択して、デプロイの状態を確認します。 デプロイが正常に完了するまで待ちます。 次に、通知メッセージの [リソース グループに移動] を選択して、Service Bus 名前空間を含んだリソース グループのページに移動します。

    Notification from deployment

  2. Service Bus 名前空間がリソースの一覧に表示されていることを確認します。

    Resource group - namespace

  3. 一覧から名前空間を選択して、 [Service Bus 名前空間] ページを表示します。

リソースをクリーンアップする

  1. Azure portal で、自分のリソース グループの [リソース グループ] ページに移動します。

  2. ツール バーから [リソース グループの削除] を選びます。

  3. リソース グループの名前を入力し、 [削除] を選択します。

    Resource group - delete

次のステップ

名前空間/キューの承認規則を作成する方法を説明している次のトピックを参照してください。

Service Bus の名前空間とキューに使用する承認規則を ARM テンプレートで作成する

次の記事を参照して、これらのリソースの管理方法を確認してください。