Azure Service Bus Management 1.0 の例 - Mule 4

このセクションの例は、Azure Service Bus キューに関する情報を取得する方法、および Azure Service Bus トピックを作成する方法を示しています。 これらの例では、一部の項目値に変数を使用しています。次のいずれかを実行できます。

  • コード内の変数をその値に置き換える

  • プロパティファイルで各変数の値を指定し、コネクタ設定からそのファイルを参照する

    プロパティファイルの使用方法についての詳細は、​「プロパティプレースホルダーの設定」​を参照してください。

始める前に

以下があることを確認します。

  • Java 8、11、または 17

  • Anypoint Studio 7.5 以降

  • Mule Runtime Engine (Mule) 4.3.0 以降

  • DataWeave

キュー情報の取得の例

次の例は、Azure Service Bus インスタンスの特定のキューに関する情報を取得する方法を示しています。次のスクリーンショットは、この例の Anypoint Studio アプリケーションフローを示しています。

キュー情報の取得の例で使用されるコンポーネントが表示されているアプリケーションフロー
Figure 1. キュー情報の取得の例のアプリケーションフロー
  1. Studio で新しい Mule プロジェクトを作成します。

  2. [Mule Palette (Mule パレット)]​ ビューで「​http​」を検索し、​[Listener]​ 操作を選択します。

  3. [Listener]​ 操作を Studio キャンバスにドラッグします。

  4. [Listener]​ 設定で、​[Connector configuration (コネクタ設定)]​ 項目の横にある ​[+]​ をクリックしてグローバル要素を追加します。

  5. デフォルトを受け入れます。

  6. [Path (パス)]​ 項目を ​/queue​ に設定します。

Get Entity 操作の追加および設定の例

Get Entity​ 操作を追加し、設定情報やメタデータに関する情報など、指定されたキューに関する情報を表示します。

  1. [Mule Palette (Mule パレット)]​ ビューで「​azure​」を検索し、Azure Service Bus Management Connector の ​[Get Entity]​ 操作を選択します。

  2. [Get Entity]​ コンポーネントを Studio キャンバスの ​[Listener]​ の右にドラッグします。

  3. [Get Entity]​ 設定で、​[Connector configuration (コネクタ設定)]​ 項目の横にある ​[+]​ をクリックしてグローバル要素を追加します。

  4. [SMS Namespace (SMS 名前空間)]​、​[Shared Access Key Name (共有アクセスキー名)]​、​[Shared Access Key (共有アクセスキー)]​ 項目に値を入力します。

  5. [Test Connection (接続をテスト)]​ をクリックして、Mule が Azure Service Bus インスタンスに接続できることを確認します。

    • 正常に接続できた場合は、​[OK]​ をクリックして設定を保存します。

    • そうでない場合は、見直して、誤ったパラメーターを修正してからもう一度テストします。

  6. [Entity(Queue or Topic) (エンティティ (キューまたはトピック))]​ 項目で、情報が必要なキューの名前を入力します。

Transform Message コンポーネントの追加

データの形式を設定し、​Get Entity​ 操作の出力でメタデータが表示される方法を示す ​Transform Message​ コンポーネントを追加します。

  1. [Mule Palette (Mule パレット)]​ ビューで、「​transform​」を検索します。

  2. [Transform Message]​ コンポーネントをキャンバスの ​[Get Entity]​ コンポーネントの右にドラッグします。

  3. [Transform Message]​ 設定で、表示名を「​Getting Data​」に変更します。

  4. [Output (出力)]​ セクションの括弧を次の XML で上書きします。

    %dw 2.0
    output application/json
    ns ns0 http://www.w3.org/2005/Atom
    ns ns01 http://schemas.microsoft.com/netservices/2010/10/servicebus/connect
    ---
    {
    "title": payload.ns0#entry.ns0#title,
    "publishedAt": payload.ns0#entry.ns0#published,
    "lockDuration": payload.ns0#entry.ns0#content.ns01#QueueDescription.ns01#LockDuration,
    "maxSize": payload.ns0#entry.ns0#content.ns01#QueueDescription.ns01#MaxSizeInMegabytes,
    "requiresDuplicate": payload.ns0#entry.ns0#content.ns01#QueueDescription.ns01#RequiresDuplicateDetection,
    "requiresSession": payload.ns0#entry.ns0#content.ns01#QueueDescription.ns01#RequiresSession,
    "deadLettering": payload.ns0#entry.ns0#content.ns01#QueueDescription.ns01#DeadLetteringOnMessageExpiration,
    "enabledBatched": payload.ns0#entry.ns0#content.ns01#QueueDescription.ns01#EnableBatchedOperations,
    "defaultMTTL": payload.ns0#entry.ns0#content.ns01#QueueDescription.ns01#DefaultMessageTimeToLive,
    "duplicateDetection": payload.ns0#entry.ns0#content.ns01#QueueDescription.ns01#DuplicateDetectionHistoryTimeWindow,
    }
    xml

Logger コンポーネントの追加

Mule コンソール​に応答を表示する Logger コンポーネントを追加します。

  1. [Mule Palette (Mule パレット)]​ ビューで「​logger​」を検索し、​[Logger (Core)]​ コンポーネントを選択します。

  2. [Logger (Core)]​ コンポーネントを Studio キャンバスの ​[Transform Message]​ コンポーネントの右にドラッグします。

  3. [Logger] 設定の ​[Message (メッセージ)]​ 項目に「​#[payload]​」とします。

  4. プロジェクトを保存します。

  5. GET 要求を ​http://127.0.0.1:8081/queue​ に送信して、アプリケーションをテストします。

キューの取得の例の XML コード

トピックの作成の例

次の例は、Azure Service Bus インスタンスの新しいトピックを作成する方法を示しています。次のスクリーンショットは、この例の Anypoint Studio フローを示しています。

トピックの作成の例で使用されるコンポーネントが表示されているアプリケーションフロー
Figure 2. トピックの作成の例のアプリケーションフロー
  1. Studio で新しい Mule プロジェクトを作成します。

  2. [Mule Palette (Mule パレット)]​ ビューで「​http​」を検索し、​[Listener]​ 操作を選択します。

  3. Listener​ 操作をキャンバスにドラッグします。

  4. [Listener]​ 設定で、​[Connector configuration (コネクタ設定)]​ 項目の横にある ​[+]​ をクリックしてグローバル要素を追加します。

  5. [Host (ホスト)]​ 項目を「0.0.0.0」、​[Port (ポート)]​ 項目を「​808​」に設定し、​[Save (保存)]​ をクリックします。

  6. [Path (パス)]​ 項目を ​/topic​ に設定します。

Create or Update Entity 操作の追加および設定

Create or Update Entity​ 操作を使用して、トピックを作成できます。

  1. [Mule Palette (Mule パレット)]​ ビューで「​azure service bus management​」を検索し、​[Create or Update Entity]​ 操作を選択します。

  2. [Create or Update Entity]​ 操作をキャンバスの ​[Listener]​ の右にドラッグします。

  3. [Create or Update Entity]​ 設定で、​[Connector configuration (コネクタ設定)]​ 項目の横にある ​[+]​ をクリックしてグローバル要素を追加します。

  4. [SMS Namespace (SMS 名前空間)]​、​[Shared Access Key Name (共有アクセスキー名)]​、​[Shared Access Key (共有アクセスキー)]​ 項目に値を入力します。

  5. [Test Connection (接続をテスト)]​ をクリックして、Mule が Azure Service Bus インスタンスに接続できることを確認します。

    • 正常に接続できた場合は、​[OK]​ をクリックして設定を保存します。

    • そうでない場合は、見直して、誤ったパラメーターを修正してからもう一度テストします。

  6. [Entity(Queue or Topic) (エンティティ (キューまたはトピック))]​ 項目で、情報が必要なキューの名前を入力します。

Transform Message コンポーネントの追加

データの形式を設定し、​Create or Update Entity​ 操作の出力でメタデータが表示される方法を示す ​Transform Message​ コンポーネントを追加します。

  1. [Mule Palette (Mule パレット)]​ ビューで、「​transform​」を検索します。

  2. [Transform Message]​ コンポーネントをキャンバスの ​[Create or Update Entity]​ コンポーネントの右にドラッグします。

  3. [Transform Message]​ 設定で、表示名を「​Getting Data​」に変更します。

  4. [Output (出力)]​ セクションの括弧を次の XML で上書きします。

    %dw 2.0
    output application/json
    ns ns0 http://www.w3.org/2005/Atom
    ns ns01 http://schemas.microsoft.com/netservices/2010/10/servicebus/connect
    ---
    {
    title: payload.ns0#entry.ns0#title,
    publishedAt: payload.ns0#entry.ns0#published,
    maxSize: payload.ns0#entry.ns0#content.ns01#TopicDescription.ns01#MaxSizeInMegabytes,
    requiresDuplicate: payload.ns0#entry.ns0#content.ns01#TopicDescription.ns01#RequiresDuplicateDetection,
    enableBatched: payload.ns0#entry.ns0#content.ns01#TopicDescription.ns01#EnableBatchedOperations,
    defaultMTTL: payload.ns0#entry.ns0#content.ns01#TopicDescription.ns01#DefaultMessageTimeToLive,
    duplicateDetection: payload.ns0#entry.ns0#content.ns01#TopicDescription.ns01#DuplicateDetectionHistoryTimeWindow,
    }
    xml

Logger コンポーネントの追加

Mule コンソール​に新しいトピックを表示する Logger コンポーネントを追加します。

  1. [Mule Palette (Mule パレット)]​ ビューで「​logger​」を検索し、​[Logger (Core)]​ コンポーネントを選択します。

  2. [Logger (Core)]​ コンポーネントを Studio キャンバスの ​[Transform Message]​ コンポーネントの右にドラッグします。

  3. [Logger] 設定の ​[Message (メッセージ)]​ 項目に「​#[payload]​」とします。

  4. プロジェクトを保存します。

  5. GET 要求を ​http://127.0.0.1:8081/topic​ に送信して、アプリケーションをテストします。

トピックの作成の例の XML