演習 - Service Bus のキューとトピックを作成する

完了

グローバル企業の販売チーム向けアプリケーションがあります。 各チーム メンバーが販売に使用するモバイル デバイスには、そのアプリがインストールされています。 Azure Web サービスにより、アプリケーション用に実装されたビジネス ロジックがホストされ、Azure SQL Database に情報が格納されます。 各地理的領域には、Web サービスの独自のインスタンスがあります。

モバイル アプリと Web サービスの間でメッセージ交換を行う次のシナリオを特定しました。

  • 個々の販売に関連するメッセージは、ユーザーのリージョンの Web サービス インスタンスに送信される必要があります。
  • 販売実績に関連するメッセージは、Web サービスのすべてのインスタンスに送信される必要があります。

あなたは、1 つ目のユース ケースのために Service Bus キュー、2 つ目のユース ケースのために Service Bus トピックを実装することにしました。

この演習では、Azure portal で、キュー、トピック、サブスクリプションを含む Service Bus 名前空間を作成します。

Service Bus 名前空間を作成する

まず、名前空間を作成します。 Azure Service Bus では、名前空間はキューおよびトピックのコンテナーです。 各名前空間には、プライマリおよびセカンダリの Shared Access Signature (SAS) 暗号化キーを含む、一意の完全修飾ドメイン名があります。 送信側または受信側のコンポーネントでは、名前空間内のオブジェクトにアクセスするために SAS キーを提供する必要があります。

  1. サンドボックスのアクティブ化に使用したものと同じ資格情報で、Azure portal にサインインします。

  2. [Azure サービス] で、 [リソースの作成] を選択します。

  3. [リソースの作成] ペインで、グローバル検索に「Service Bus」と入力します。 検索結果で、Microsoft によって Azure 用に発行された [Service Bus][作成] を選択します。

  4. [名前空間の作成] ペインの [基本] タブで、各設定に次の値を入力または選択します。

    設定 説明
    プロジェクトの詳細
    サブスクリプション コンシェルジェ サブスクリプション この新しいアプリが作成されるサブスクリプション。
    リソース グループ [サンドボックス リソース グループ名] Service Bus 名前空間を作成するリソース グループの名前。 この演習では、サンドボックスをアクティブ化するときに割り当てられたリソース グループに名前空間を作成します。
    インスタンスの詳細
    名前空間名 "[グローバルに一意の名前]" Azure 内で一意の名前を入力します。
    salesteamapp<Company><year> という形式を使用する場合、名前空間名は、salesteamappContoso2022 という例のようになります。
    場所 ドロップダウンから選択 この表の下に一覧表示されている無料の ''サンドボックス リージョン'' から選択します。
    価格レベル Standard この演習用に推奨される価格レベル。

    無料のサンドボックスを使用すると、Azure グローバル リージョンのサブセットにリソースを作成できます。 リソースを作成するときは、次のリストからリージョンを選択します。

    • 米国西部 2
    • 米国中南部
    • 米国中部
    • 米国東部
    • 西ヨーロッパ
    • 東南アジア
    • 東日本
    • ブラジル南部
    • オーストラリア南東部
    • インド中部
  5. [Review + create](レビュー + 作成) を選択します。

    Screenshot of the Create namespace pane showing validation passed and with Review plus create button highlighted.

  6. 検証が成功したら、[作成] を選択して Service Bus 名前空間を作成します。

    Screenshot of the Create namespace pane, showing validation succeeded and Create button highlighted.

Service Bus キューを作成する

次に、個々の販売に関するメッセージのキューを名前空間に追加します。

  1. デプロイが完了したら、[リソースに移動] を選択します。

  2. [Service Bus 名前空間] ページで、左側のメニューの [エンティティ] の下にある [キュー] を選択します。

  3. コマンド バーで、[+ キュー] を選択します。

    Screenshot of Service Bus namespace and Create queue panes with Queue and Create highlighted.

  4. [キューの作成] ペインで、[名前] に「salesmessages」と入力して、[作成] を選択します。

メッセージ キューが作成されると、[Service Bus 名前空間] ペインの下部にある [キュー] の下に salesmessages が一覧表示されます。

Service Bus トピックとサブスクリプションを作成する

販売実績に関連するメッセージに使用されるトピックを作成することもできます。 ビジネス ロジック Web サービスの各インスタンスでは、このトピックをサブスクライブし、各販売実績メッセージは、すべての Web サービス サブスクリプションに配信されます。

Service Bus のトピックとサブスクリプションを追加します。

  1. 左側のメニューで、左側のメニューの [エンティティ] の下の [トピック] を選択して、コマンド バーで [+ トピック] を選択します。

    Screenshot of the Service Bus namespace and Create topic panes with Topic and Create highlighted.

  2. [トピックの作成] ペインで、[名前] に「salesperformancemessages」と入力して、[作成] を選択します。

    トピックが作成されたら、[Service Bus 名前空間] ペインの下部にある [トピック] の下の一覧に salesperformancemessages が表示されます。

  3. Service Bus 名前空間のタブを使用して、または Azure portal リソースのメニューを使用して、キューおよびトピックのサブスクリプションを追加または削除できます。 メニュー オプションを使用するには、左側のメニューの [エンティティ][トピック] を選択してから、トピックの一覧で salesperformancemessages を選択します。

  4. salesperformancemessages Service Bus トピックのペインで、コマンド バーの [+ サブスクリプション] を選択します。

  5. [サブスクリプションの作成] ペインで、[名前] に「Americas」と入力します。 [最大配信数] に「100」と入力します。 [作成] を選択します。

    salesperformancemessages Service Bus トピックが表示され、ペインの下部にある [サブスクリプション] セクションの一覧に Americas サブスクリプションが表示されます。

  6. 次に、2 つ目のサブスクリプションを追加します。 コマンド バーで、[サブスクリプション] を選択します。

  7. [サブスクリプションの作成] ペインで、[名前] に「EuropeAndAsia」と入力します。 [最大配信数] に「100」と入力します。 [作成] を選択します。

これで、販売チーム アプリの salesperformancemessages Service Bus トピックの [サブスクリプション] セクションの一覧に、2 つのサブスクリプションが表示されるようになりました。

分散アプリケーションの回復力を高めるために、Service Bus を使用するためのインフラストラクチャを構築しました。 個々の販売に関するメッセージのキューと、販売実績に関するメッセージのトピックを作成しました。 トピック メッセージを世界中の複数の Web サービスに配信できるように、トピックに複数のサブスクリプションを追加しました。