Azure CLI を使用して Service Bus 名前空間とキューを作成する

このクイックスタートでは、Azure CLI を使用して Service Bus 名前空間とキューを作成する方法について説明します。 また、クライアント アプリケーションがキューとの間でメッセージを送受信するときに使用できる承認の資格情報を取得する方法についても説明します。

Service Bus キューとは

Service Bus キューは、ブローカー メッセージング通信モデルをサポートしています。 キューを使用すると、分散アプリケーションのコンポーネントはお互いに直接通信せず、代わりに仲介者 (ブローカー) として機能するキューを介してメッセージをやり取りします。 メッセージ プロデューサー (送信者) はキューにメッセージを送信した後で、それまでの処理を引き続き実行します。 メッセージ コンシューマー (受信者) は、キューからメッセージを非同期に受信して処理します。 プロデューサーは、それ以降のメッセージの処理と送信を続けるために、コンシューマーからの応答を待つ必要はありません。 キューでは、コンシューマーが競合している場合のメッセージ配信に先入れ先出し法 (FIFO) を使用します。 つまり、通常はキューに追加された順番にメッセージが受信され、処理されます。このとき、メッセージを受信して処理できるメッセージ コンシューマーは、メッセージ 1 件につき 1 つだけです。

QueueConcepts

Service Bus キューは汎用テクノロジであり、幅広いシナリオで使用できます。

  • 多層 Azure アプリケーションでの Web ロールと Worker ロールとの間の通信。
  • ハイブリッド ソリューションでのオンプレミスのアプリと Azure によってホストされるアプリケーションとの間の通信。
  • 複数の組織で実行される分散アプリケーションまたは 1 つの組織内の異なる部署でオンプレミスで実行される分散アプリケーションのコンポーネント間の通信。

キューを使用すると、アプリケーションのスケールがより簡単になり、アーキテクチャの復元性が高まります。

前提条件

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

このクイックスタートでは、Azure portal へのサインイン後に起動できる Azure Cloud Shell を使用します。 Azure Cloud Shell の詳細については、「Azure Cloud Shell の概要」を参照してください。 Azure PowerShell を自分のマシンにインストールして使用することもできます。

リソースをプロビジョニングする

  1. Azure portal にサインインします。

  2. 次の画像に示すアイコンを選択して Azure Cloud Shell を起動します。 Cloud Shell が PowerShell モードになっている場合は Bash モードに切り替えます。

  3. 次のコマンドを実行して、Azure リソース グループを作成します。 必要に応じて、リソース グループの名前と場所を更新します。

    az group create --name ContosoRG --location eastus
    
  4. 次のコマンドを実行して、Service Bus メッセージング名前空間を作成します。

    az servicebus namespace create --resource-group ContosoRG --name ContosoSBusNS --location eastus
    
  5. 次のコマンドを実行して、前の手順で作成した名前空間にキューを作成します。 この例の ContosoRG は、前の手順で作成したリソース グループです。 ContosoSBusNS は、そのリソース グループに作成した Service Bus 名前空間の名前です。

    az servicebus queue create --resource-group ContosoRG --namespace-name ContosoSBusNS --name ContosoOrdersQueue
    
  6. 次のコマンドを実行して、名前空間のプライマリ接続文字列を取得します。 この接続文字列を使用してキューに接続し、メッセージを送受信します。

    az servicebus namespace authorization-rule keys list --resource-group ContosoRG --namespace-name ContosoSBusNS --name RootManageSharedAccessKey --query primaryConnectionString --output tsv    
    

    接続文字列とキュー名を書き留めておきます。 これらの情報を使用して、メッセージを送受信します。

次の手順

この記事では、Service Bus 名前空間とその名前空間のキューを作成しました。 キューとの間でメッセージを送受信する方法については、「メッセージを送受信する」セクションで次のいずれかのクイックスタートを参照してください。