チュートリアル: キューの作成とキューへのメッセージの送信

このチュートリアルを使用し、Anypoint MQ を使用して、メッセージの一時的なストレージ領域である​キュー​へのメッセージの送信および取得を開始します。

このチュートリアルでは、以下を行います。

  1. Anypoint MQ にキューを作成します。

  2. キューにメッセージを送信し、メッセージが到着したことを確認し、メッセージペイロードを表示します。

  3. 接続アプリケーションを設定し、ID とシークレットを使用して、MQ 用 Anypoint Connector (Anypoint MQ Connector) バージョン 4.x を設定します。

    Anypoint MQ で接続アプリケーションを使用するには、Mule 4 用 Anypoint MQ Connector 4.x を使用する必要があります。 Anypoint MQ Connector バージョン 3.x 以前を使用している場合は、代わりにクライアントアプリケーションを設定します。 詳細は、「クライアントアプリケーションの設定」を参照してください。

  4. Design Center でアプリケーションを作成し、Anypoint MQ Connector を設定し、設定をテストします。

  5. Anypoint Studio 7.x で Mule 4.x アプリケーションを作成し、Anypoint MQ Connector を設定し、接続をテストします。

  6. 必要に応じて、Anypoint Studio 6 で Mule 3.9 アプリケーションを作成し、Mule 3 用 Anypoint MQ Connector を設定し、接続をテストします。

    Mule 3.9 と Studio 6.x は拡張サポートに含まれるため、Mule と Studio の最新バージョンを使用することをお勧めします。

始める前に

  • Anypoint MQ の用語集についての理解

  • Anypoint Platform アカウント

  • Enterprise ライセンス

    無料トライアルを入手するには、MuleSoft 営業チームにお問い合わせください。

  • Anypoint Studio がシステムにインストールされていること

  • テスト用の curl​ コマンドラインツール

    このチュートリアルでは、HTTP リスナートリガーを使用して Anypoint MQ Connector のアクセスを開始し、​curl​ コマンドを使用して REST API コマンドを Anypoint MQ Broker API に送信します。

ステップ 1.キューの作成

まずキューを作成し、キューにメッセージを送信し、メッセージが到着したことを確認し、メッセージペイロードを表示します。

キューを作成する手順は、次のとおりです。

  1. Anypoint Platform にログインし、ナビゲーションメニューで ​[MQ]​ をクリックします。

  2. Anypoint Studio 7 でキューをテストする場合、Design (デザイン) 以外の任意の環境に切り替えます。

    たとえば、環境ボタンをクリックして ​[Production (本番)]​ を選択します。

    環境ボタン
  3. [Destinations (宛先)]​ をクリックします。

    [Destinations (宛先)] オプションと [Add (追加)] アイコン
    1 [Destinations (宛先)]​ ナビゲーションメニューでは、使用可能なキューが表示されます。
    2 [Add (追加)]​ アイコンでは、新しいキューまたはエクスチェンジを作成します。
  4. [Add (追加)]​ アイコン (​"[Destinations (宛先) の [Add (追加)] アイコン",2.5%,2.5%]​) をクリックして、メニューを表示します。

    [Add (追加)] アイコンのメニューオプション
  5. [Queue (キュー)]​ を選択します。

  6. [Create Queue (キューを作成)]​ ウィンドウで ​[ID]​ 項目に ​myDemoQueue​ と入力します。

    [Create Queue (キューを作成)] ウィンドウ

    キュー名には最大 127 文字の英数字 (a-z, A-Z、0-9) と句読点 (. -) 文字を含めることができます。スペースやその他の文字を含めることはできません。

  7. 必要に応じて、他のキュー設定を指定します。

    詳細は、​「キューを作成する」​を参照してください。

  8. [Create Queue (キューを作成)]​ をクリックします。

    Anypoint MQ では、​[Destinations (宛先)]​ ページにキューが作成されます。

    新しいキューが含まれる [Destinations (宛先)] ページ

キューが正常に作成されました。次に、キューにメッセージを送信し、メッセージが到着したことを確認し、メッセージペイロードを表示します。

ステップ 2.キューへのメッセージの送信およびメッセージの到着の確認

キューを作成したら、キューにメッセージを送信し、メッセージがキューに到着したことを確認し、キューからメッセージを取得することで、キューをテストします。

キューとの間でメッセージを送受信する手順は、次のとおりです。

  1. [Destinations (宛先)]​ ページで ​myDemoQueue​ をクリックします。

  2. ナビゲーションメニューで ​[Message Sender (メッセージ送信者)]​ をクリックします。

    [Message Sender (メッセージ送信者)] ナビゲーションメニュー
  3. [Type (種別)]​ 項目を ​[Text (テキスト)]​ に設定したまま、​Hello Mules!​ を ​[Payload (ペイロード)]​ 項目に入力します。

  4. 必要に応じて、​[Add User Properties (ユーザープロパティを追加)]​ を切り替えて、送信するプロパティの名前と値のペアを指定し、​[Add Property (プロパティを追加)]​ をクリックします。

    [Message Sender (メッセージ送信者)] ページの [Add User Properties (ユーザープロパティを追加)] 切り替え

    [Message Sender (メッセージ送信者)]​ ページには、追加された文字列プロパティが青で表示され、数値プロパティがグレーで表示されます。

  5. [Send (送信)]​ をクリックします。

  6. [Type (種別)]​ を ​[CSV]​ に設定し、次を ​[Payload (ペイロード)]​ 項目に入力して、​[Send (送信)]​ をクリックします。

    "dog",
    "fish",
    "parrot"
  7. [Type (種別)]​ を ​[JSON]​ に設定し、次を ​[Payload (ペイロード)]​ 項目に入力して、​[Send (送信)]​ をクリックします。

    {
    "animal that walks":"dog",
    "animal that swims":"fish",
    "animal that flies":"parrot"
    }

    次に、メッセージがキューに到着したことを確認します。

  8. [Destinations (宛先)]​ をクリックします。

  9. myDemoQueue​ のキュー種別をクリックして、その詳細を表示します。

    詳細ペインに、キュー内のメッセージ数が表示されます。

    詳細ペインの myDemoQueue キュー内の 3 つのメッセージ
  10. 詳細ペインで、キューの詳細の表示ラベル ​myDemoQueue​ をクリックします。

  11. ナビゲーションメニューで ​[Message Browser (メッセージブラウザー)]​ をクリックします。

    ナビゲーションメニューの [Message Browser (メッセージブラウザー)]
  12. 取得するメッセージ数に ​5​ と入力し、ポーリングする秒数に ​10​ と入力します。

    取得できるメッセージ数は 1 ~ 500 件、ポーリングできる間隔は 1 ~ 3600 秒です。

  13. [Get Messages (メッセージを取得)]​ をクリックします。

    Anypoint MQ はキューからメッセージを取得して [Message Browser (メッセージブラウザー)] に表示します。

  14. メッセージ行をクリックして、メッセージペイロードを詳細ペインに表示します。

    選択されたメッセージ行と、詳細ペインのペイロード
    1 メッセージを選択します。
    2 詳細ペインのメッセージペイロード。

Anypoint MQ でのキューの作成、キューへのメッセージの送信、メッセージの到着確認、メッセージペイロードの表示が正常に終了しました。次に、Mule アプリケーションを Anypoint MQ に接続するための接続アプリケーションを作成します。

ステップ 3.接続アプリケーションの設定

キューをテストしたら、Anypoint MQ Connector の設定で使用する ID とシークレットを生成する接続アプリケーションを設定します。

Anypoint MQ で接続アプリケーションを使用するには、Mule 4 用 Anypoint MQ Connector 4.x を使用する必要があります。 Anypoint MQ Connector バージョン 3.x 以前を使用している場合は、代わりにクライアントアプリケーションを設定します。 詳細は、「クライアントアプリケーションの設定」を参照してください。

Anypoint MQ スコープを使用して接続アプリケーションを作成する手順は、次のとおりです。

  1. Anypoint Platform にログインし、ナビゲーションメニューで ​[Access Management (アクセス管理)]​ をクリックします。

  2. ナビゲーションペインで ​[Connected Apps (接続アプリケーション)]​ をクリックします。

  3. [Create app (アプリケーションを作成)]​ をクリックします。

    「Connected Apps (接続アプリケーション)」 オプションと 「Create app (アプリケーションを作成)」 ボタン
    1 [Connected Apps (接続アプリケーション)]​ では、接続アプリケーションの表示と作成を行います。
    2 [Create app (アプリケーションを作成)]​ ボタンでは、接続アプリケーションを作成します。
  4. アプリケーションの名前 (​DemoApp1​ など) を指定します。

  5. [App acts on its own behalf (client credentials) (アプリケーションが自身のために行動する (クライアントログイン情報))]​ を選択します。

  6. [Add Scopes (スコープを追加)]​ をクリックします。

    スコープは、関連付けられた権限を持つロールです。この権限により、組織および環境内でアプリケーションが実行できるアクションが決まります。 「Anypoint MQ スコープ」​を参照してください。

    Anypoint MQ 接続アプリケーションのスコープ
  7. [Add Scopes (スコープを追加)]​ ウィンドウで次の操作を行います。

    1. 検索条件スコープ​項目に「MQ」と入力します。

    2. [Select all (すべて選択)]​ をクリックしてすべてのスコープを選択し、​[Next (次へ)]​ をクリックします。

    3. スコープを適用するビジネスグループを選択して、​[Next (次へ)]​ をクリックします。

    4. [Production (本番)]​ 環境を選択して、​[Next (次へ)]​ をクリックします。

    5. [Add Scopes (スコープを追加)]​ をクリックします。

  8. [Save (保存)]​ をクリックします。

後の手順でコネクタを設定するときに、​[Copy Id (ID をコピー)]​ と ​[Copy Secret (シークレットをコピー)]​ をクリックして、​DemoApp1​ の ID とシークレットをコピーします。

「Connected Apps (接続アプリケーション)」 ウィンドウ

接続アプリケーションが正常に設定されました。次に、Design Center で Mule アプリケーションを作成して Anypoint MQ に接続します。

ステップ 4.Design Center での Mule アプリケーションの作成および Anypoint MQ への Mule アプリケーションの接続

接続アプリケーションを設定したら、Design Center を使用して、Anypoint MQ に接続するアプリケーションを設定し、REST API コマンドを Anypoint MQ Broker API に送信し、Anypoint MQ を使用して結果を表示します。

始める前に

  • Design Center を使用する前に、ブラウザーで LastPass や Okta などのパスワードプログラムを無効にします。

    有効になっている場合、パスワードプログラムが Design Center の項目にパスワードを挿入するため、アプリケーションが失敗する可能性があります。

  • [Anypoint Platform] ウィンドウを開いたままにします。これで、接続アプリケーションの宛先 URL と ID およびシークレットの値にアクセスできます。

Design Center での Anypoint MQ を使用したアプリケーションの設定

Design Center でアプリケーションを設定する手順は、次のとおりです。

  1. [Anypoint Platform]​ のナビゲーションメニューで ​[Design Center]​ をクリックします。

  2. [Create new (新規作成)]​ > ​[New Mule App (新規 Mule アプリケーション)]​ をクリックして、新しいインテグレーションフローを作成します。

  3. [New Mule Application (新規 Mule アプリケーション)]​ ウィンドウで、プロジェクト名に ​mqdemo​ と入力し、​[Create App (アプリケーションを作成)]​ をクリックします。

  4. ヘルプウィザードで、​[Go straight to canvas (キャンバスに直接移動)]​ をクリックします。

    [Go straight to canvas (キャンバスに直接移動)] リンク
  5. [Trigger (トリガー)]​ ボックスをクリックし、​H​ と入力して [HTTP Listener (HTTP リスナー)] を検索します。

    [HTTP Listener (HTTP リスナー)] の検索
  6. [HTTP Listener (HTTP リスナー)]​ を開きます。

  7. [HTTP Listener (HTTP リスナー)]​ ウィンドウで、​[Path (パス)]​ の値を ​/mq/{messageId}​ に設定し、​[Close (閉じる)]​ アイコン (​"[Close (閉じる) アイコン",2.5%,2.5%]​) をクリックします。

    [Path (パス)] の値と [Close (閉じる)] ボタン
    1 [Path (パス)]​ 項目では、メッセージ ID へのパスを指定します。
    2 [Close (閉じる)]​ アイコンでは、​[HTTP Listener (HTTP リスナー)]​ ウィンドウを閉じます。
  8. [HTTP Listener (HTTP リスナー)] トリガーの ​[Add (追加)]​ アイコン (​"[Add (追加) アイコン",2.5%,2.5%]​) をクリックします。

    [追加] アイコン
  9. [Select a component (コンポーネントを選択)]​ ウィンドウで、​anypoint mq​ と入力し、[Anypoint MQ Connector] を検索します。

    [Anypoint MQ Connector] の検索
  10. コネクタ名をクリックし、​Publish​ 操作をクリックします。

    Publish 操作

    その他の操作については、次のとおりです。

    • キューから送信されたメッセージを受信する Mule アプリケーションを作成するには、​Consume​ 操作を使用します。

    • アプリケーションにメッセージの処理が成功したかどうかを判断するためのテストがある場合は ​Ack​ 操作を使用して、メッセージが受信されて削除できることを肯定応答します。

    • メッセージの処理が失敗した場合、​Nack​ 操作を使用してメッセージへの否定応答を行って、メッセージをキューに戻し、メッセージに再度アクセスできるようにします。

  11. [Configuration (設定)]​ ページで、​[Add Connection (接続を追加)]​ をクリックします。

  12. [Configure Connection (接続を設定)]​ ページの ​[Connection Name (接続名)]​ 項目で ​myDemoQueue​ を指定し、接続種別として ​[Connection (接続)]​ を選択します。

  13. [Anypoint Platform]​ > ​[MQ]​ ブラウザーウィンドウに戻り、URL、アプリケーション ID、およびシークレットの値をコピーします。

    1. ナビゲーションメニューで ​[Destinations (宛先)]​ をクリックします。

    2. [Copy (コピー)]​ をクリックし、メニューから ​[Connector version 4.x and later (Connector バージョン 4.x 以降)]​ を選択して、URL をコピーします。

      [Destinations (宛先)] ページの [Copy (コピー)] ボタン

      Anypoint MQ Connector バージョン 3.x 以前を使用している場合は、代わりにクライアントアプリケーションを設定します。 詳細は、「クライアントアプリケーションの設定」を参照してください。

    3. Design Center で、​[Configure Connection (接続を設定)]​ ページの ​[URL]​ 項目に、コピーした URL を貼り付けます。

    4. [Connected Apps (接続アプリケーション)]​ ウィンドウに戻り、接続アプリケーションの ID とシークレットをコピーします。

    5. ID とシークレットの値を Design Center の ​[Configure Connection (接続を設定)]​ ページに貼り付けます。

      [Configure Connection (接続を設定)] ページの [Client App ID (クライアントアプリケーション ID)] 項目と [Client Secret (クライアントシークレット)] 項目
  14. [Test (テスト)]​ をクリックして、アプリケーションにアクセスできることを確認します。

    [Success (成功)] ボックス
    • 成功した場合、緑色の ​[Success (成功)]​ ボックスが表示されます。

    • 失敗した場合、URL、ID、シークレットの値が正しいことを確認します。

      URL が ​[Anypoint Platform]​ > ​[MQ]​ の URL と一致していない場合、Anypoint MQ から [Design Center] ウィンドウに ​URL​ をコピーし、もう一度 ​[Test (テスト)]​ をクリックしてください。

  15. [Save (保存)]​ を 2 回クリックします。

  16. [Publish Configuration (設定をパブリッシュ)]​ ページで ​myDemoQueue​ と入力します。

    この名前は、このチュートリアルで以前作成した​キュー名​です。

  17. [Close (閉じる)]​ アイコン (​"[Close (閉じる) アイコン",2.5%,2.5%]​) をクリックして、​[Publish Configuration (設定をパブリッシュ)]​ ページを閉じます。

    [Close (閉じる)] アイコン
  18. "[V アイコン",2.5%,2.5%]​ メニューから ​[Deploy Application (アプリケーションをデプロイ)]​ を選択します。

    Design Center の [Deploy Application (アプリケーションをデプロイ)] メニューオプション
  19. [Deploy Mule application (Mule アプリケーションをデプロイ)]​ ウィンドウで、対象環境とアプリケーション名を選択し、​[Deploy (デプロイ)]​ をクリックします。

    アプリケーションが正常にデプロイされたら、​[Deployment success (デプロイメントに成功しました)]​ ポップアップをクリックして、Runtime Manager にアプリケーションを表示できます。

Design Center を使用して、Anypoint MQ に接続するアプリケーションを正常に設定しました。次に、REST API コマンドを Anypoint MQ Broker API に送信し、Anypoint MQ を使用して結果を表示することで、接続をテストします。

Design Center アプリケーションのテスト

Design Center でアプリケーションを作成したら、​curl​ コマンドを使用して REST API コマンドを Anypoint MQ Broker API に送信し、Anypoint MQ を使用して結果を表示することで、アプリケーションをテストします。

アプリケーションをテストする手順は、次のとおりです。

  1. Design Center で、アプリケーションのプロジェクトタイプをクリックし、詳細ペインを表示します。

    詳細ペインのデプロイメント URL
  2. [Deployment url (デプロイメント URL)]​ の値をコピーします。

  3. コマンドプロンプトから次の ​curl​ コマンドを実行して、Anypoint MQ メッセージとして ​body​ の値を送信します。

    DEPLOYMENT-URL​ を Design Center からのデプロイメント URL に置き換えます。

    curl -X POST \
      http://DEPLOYMENT-URL/mq/100 \
      -H 'content-type: application/json' \
      -d '[  {
        "body": "Welcome to MuleSoft!"
      }
    ]'

    URL の ​100​ の値は、HTTP リスナーの ​/mq/{messageId}​ の値で指定されたメッセージ ID 値 (メッセージの識別子) です。

    次に、メッセージがキューに到着したことを確認します。

  4. [Anypoint Platform]​ > ​[MQ]​ > ​[Destinations (宛先)]​ を選択します。

  5. 以前作成し、Design Center のアプリケーションの ​[Destination (宛先)]​ 設定で指定した ​myDemoQueue​ キューの名前をクリックします。

  6. ナビゲーションメニューで ​[Message Browser (メッセージブラウザー)]​ をクリックします。

    ナビゲーションメニューの [Message Browser (メッセージブラウザー)]
  7. 取得するメッセージ数に ​5​ と入力し、ポーリングする秒数に ​10​ と入力します。

  8. [Get Messages (メッセージを取得)]​ をクリックします。

    Anypoint MQ はキューからメッセージを取得して [Message Browser (メッセージブラウザー)] に表示します。

  9. メッセージ行をクリックして、メッセージペイロードを詳細ペインに表示します。

    選択されたメッセージ行と、詳細ペインのペイロード
    1 メッセージを選択します。
    2 詳細ペインのメッセージペイロード。
  10. curl​ コマンドの本文テキストを変更し、ステップを繰り返してメッセージを表示します。

curl​ コマンドを使用して REST API コマンドを Anypoint MQ Broker API に送信し、Anypoint MQ を使用して結果を表示することで、アプリケーションを正常にテストしました。次に、Anypoint Studio 7 で Mule アプリケーションを作成して Anypoint MQ に接続します。

ステップ 5.Anypoint Studio 7 での Mule 4 アプリケーションの作成および Anypoint MQ への Mule 4 アプリケーションの接続

Anypoint Studio 7 を使用して、Design Center で作成したアプリケーションと同様の Mule 4 アプリケーションを作成できるようになりました。Studio 7 でアプリケーションを CloudHub にデプロイし、​curl​ コマンドを送信して接続をテストできます。

始める前に

  • Studio 7 をインストールします。

  • Anypoint Platform で、Design (デザイン) 以外の任意の環境に変更します。

    [Anypoint Platform]​ > ​[MQ]​ で作成したキューがこの環境にもあることを確認します。

Anypoint Studio 7 での Anypoint MQ を使用したアプリケーションの設定

まず、Studio 7 を使用して、Anypoint MQ に接続するアプリケーションを設定します。

  1. Studio を起動し、​[File (ファイル)]​ > ​[New (新規)]​ > ​[Mule Project (Mule プロジェクト)]​ をクリックし、プロジェクトに ​mq-demo​ という名前を付けます。

  2. ツールバーの ​[Exchange (エクスチェンジ)]​ アイコンをクリックします。

    Studio 7 ツールバーの [Exchange (エクスチェンジ)] アイコン
  3. Anypoint Platform のユーザー名とパスワードを入力します。

  4. Exchange で、​[Provided by MuleSoft (MuleSoft による提供)]​ ナビゲーションメニューをクリックし、ドロップダウンメニューから ​[Connectors (コネクタ)]​ を選択して、[Anypoint MQ Connector] を検索します。

    Exchange の [Provided by MuleSoft (MuleSoft による提供)] メニュー、[Connectors (コネクタ)] ドロップダウンメニュー、検索項目
  5. [Anypoint MQ Connector - Mule 4]​ を選択します。

    Studio 7 では Mule 4 がサポートされます。

  6. [Add to project (プロジェクトに追加)]​ をクリックします。

    Exchange の [Add to project (プロジェクトに追加)] アイコン
  7. 確認プロンプトで ​[Proceed (続行)]​ をクリックし、Studio で ​[OK]​ をクリックします。

  8. [Mule Palette (Mule パレット)]​ ビューで ​[HTTP]​ をクリックし、​[Listener]​ を Studio キャンバスにドラッグします。

    [Mule Palette (Mule パレット)] の HTTP Connector と Listener 操作
    1 HTTP Connector では Listener 操作が表示されます。
    2 Listener 操作では、[Mule Palette (Mule パレット)] にドラッグする操作を特定します。
  9. [Anypoint MQ]​ をクリックして ​[Publish]​ をキャンバスの [Listener] の ​[Process (プロセス)]​ 領域にドラッグします。

    Studio 7 キャンバスの [Publish] 操作
  10. キャンバスで ​[Listener]​ をクリックします。

  11. [Listener] プロパティウィンドウで、​[General (一般)]​ > ​[Path (パス)]​ を ​/mq/{messageId}​ に設定します。

    [Listener] プロパティウィンドウ
  12. [Connector configuration (コネクタ設定)]​ 項目の ​[Add (追加)]​ アイコン (​"Studio の [Add (追加) アイコン",2.5%,2.5%]​) をクリックします。

  13. HTTP リスナーの ​[Global Element Properties (グローバル要素のプロパティ)]​ ウィンドウで、​[Host (ホスト)]​ が ​All Interfaces [0.0.0.0]​ に設定され、​[Port (ポート)]​ が ​8081​ に設定されていることを確認し、​[OK]​ をクリックします。

    リスナーの [Global Element Properties (グローバル要素のプロパティ)] の [Host (ホスト)] と [Port (ポート)] の設定

    これで、[Listener] プロパティウィンドウは、エラーがないことを示します。

  14. キャンバスで ​Publish​ 操作をクリックします。

  15. [Publish] プロパティウィンドウで、​[Destination (宛先)]​ を、​[Anypoint Platform]​ > ​[MQ]​ で以前作成した ​myDemoQueue​ キューに設定します。

    Publish 操作の [Destination (宛先)] プロパティと [Add (追加)] アイコン

    キューは Design (デザイン) 以外の環境に配置されている必要があります。

  16. [Connector configuration (コネクタ設定)]​ 項目の ​[Add (追加)]​ アイコン (​"Studio の [Add (追加) アイコン",2.5%,2.5%]​) をクリックし、​[Global Element Properties (グローバル要素のプロパティ)]​ ウィンドウを表示します。

  17. [Anypoint Platform]​ > ​[MQ]​ ブラウザーウィンドウに戻り、URL、ID、およびシークレットの値をコピーします。

    1. [Destinations (宛先)]​ をクリックします。

    2. [Copy (コピー)]​ をクリックし、メニューから ​[Connector version 4.x and later (Connector バージョン 4.x 以降)]​ を選択して、URL をコピーします。

      [Destinations (宛先)] ページの [Copy (コピー)] ボタン

      Anypoint MQ Connector バージョン 3.x 以前を使用している場合は、代わりにクライアントアプリケーションを設定します。 詳細は、「クライアントアプリケーションの設定」を参照してください。

    3. Studio の ​[Anypoint MQ Config (Anypoint MQ 設定)]​ ウィンドウの ​[URL]​ 項目に URL を貼り付けます。

    4. [Connected Apps (接続アプリケーション)]​ ウィンドウに戻り、アプリケーションの ID とシークレットをコピーします。

    5. ID とシークレットの値を Studio の ​[Anypoint MQ Config (Anypoint MQ 設定)]​ ウィンドウに貼り付けます。

      [Anypoint MQ Config (Anypoint MQ 設定)] ウィンドウの [URL] 項目、[Client App ID (クライアントアプリケーション ID)] 項目、[Client Secret (クライアントシークレット)] 項目
  18. [Test Connection (接続をテスト)]​ をクリックし、値が正しいことを確認して、​[OK]​ を 2 回クリックします。

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

  20. Studio の ​Package Explorer​ で、​mq-demo​ を右クリックし、​[Anypoint Platform]​ > ​[Deploy to CloudHub (CloudHub にデプロイ)]​ を選択します。

  21. 確認ダイアログで、アプリケーションのデプロイ先の環境を選択します。

  22. Anypoint Platform の ​[Deploying Application (アプリケーションのデプロイ)]​ ウィンドウで ​[Deploy Application (アプリケーションをデプロイ)]​ をクリックします。

    [Deploying Applications (アプリケーションのデプロイ)] ページの [Deploy Application (アプリケーションをデプロイ)] ボタン

Studio 7 を使用して、Anypoint MQ に接続するアプリケーションを正常に設定しました。次に、REST API コマンドを Anypoint MQ Broker API に送信し、Anypoint MQ を使用して結果を表示することで、接続をテストします。

アプリケーションのテスト

Studio 7 でアプリケーションを作成したら、​curl​ コマンドを使用して REST API コマンドを Anypoint MQ Broker API に送信し、Anypoint MQ を使用して結果を表示することで、アプリケーションをテストします。

アプリケーションをテストする手順は、次のとおりです。

  1. Anypoint Platform で ​[Runtime Manager]​ > ​[Applications (アプリケーション)]​ を選択し、​mq-demo​ アプリケーションが実行されていることを確認します。

  2. mq-demo​ アプリケーションの状況をクリックし、詳細ペインを表示します。

  3. [App url (アプリケーション URL)]​ の値をコピーします。

    Runtime Manager の [App url (アプリケーション URL)] の値
  4. コマンドプロンプトから次の ​curl​ コマンドを実行して、Anypoint MQ メッセージとして ​body​ の値を送信します。

    [APP-URL]​ を、Runtime Manager からコピーした ​[App url (アプリケーション URL)]​ の値に置き換えます。

    curl -X POST \
      http://APP-URL/mq/100 \
      -H 'content-type: application/json' \
      -d '[  {
        "body": "Welcome to MuleSoft!"
      }
    ]'

    URL の ​100​ の値は、HTTP リスナーの ​/mq/{messageId}​ の値で指定されたメッセージ ID 値 (メッセージの識別子) です。

    destination not found​ を示す 404 メッセージが表示された場合、Studio 7 の ​[MQ Publish (MQ パブリッシュ)]​ > ​[Destination (宛先)]​ 項目のキュー名が ​[Anypoint Platform]​ > ​[MQ]​ のキュー名と一致していることを確認します。

    変更を加えたら、Studio 7 のプロジェクトを右クリックし、​[Anypoint Platform]​ > ​[Deploy to CloudHub (CloudHub にデプロイ)]​ を選択して、Mule アプリケーションを CloudHub に再デプロイします。

  5. [Anypoint Platform]​ > ​[MQ]​ > ​[Destinations (宛先)]​ で、以前作成し、Studio 7 のアプリケーションの ​[Destination (宛先)]​ 設定で指定した ​myDemoQueue​ キューの名前をクリックします。

  6. ナビゲーションメニューで ​[Message Browser (メッセージブラウザー)]​ をクリックします。

    ナビゲーションメニューの [Message Browser (メッセージブラウザー)]
  7. 取得するメッセージ数に ​5​ と入力し、ポーリングする秒数に ​10​ と入力します。

  8. [Get Messages (メッセージを取得)]​ をクリックします。

    Anypoint MQ はキューからメッセージを取得して [Message Browser (メッセージブラウザー)] に表示します。

  9. メッセージ行をクリックして、メッセージペイロードを詳細ペインに表示します。

    選択されたメッセージ行と、詳細ペインのペイロード
    1 メッセージを選択します。
    2 詳細ペインのメッセージペイロード。
  10. curl​ コマンドの本文テキストを変更し、ステップを繰り返してメッセージを表示します。

これで、Studio 7 で Anypoint MQ を設定し、REST API コマンドを Anypoint MQ Broker API に送信し、Anypoint MQ を使用して結果を表示できるようになりました。

Studio 7 XML

Studio 7 で次の XML を使用して ​mq-demo​ アプリケーションを作成できます。

Studio の ​[Configuration XML (設定 XML)]​ タブをクリックし、各自の XML と次の XML を比較します。必要に応じて修正します。

<?xml version="1.0" encoding="UTF-8"?>

<mule xmlns:anypoint-mq="http://www.mulesoft.org/schema/mule/anypoint-mq" xmlns:http="http://www.mulesoft.org/schema/mule/http"
	xmlns="http://www.mulesoft.org/schema/mule/core"
	xmlns:doc="http://www.mulesoft.org/schema/mule/documentation" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.mulesoft.org/schema/mule/core http://www.mulesoft.org/schema/mule/core/current/mule.xsd
http://www.mulesoft.org/schema/mule/http http://www.mulesoft.org/schema/mule/http/current/mule-http.xsd
http://www.mulesoft.org/schema/mule/anypoint-mq http://www.mulesoft.org/schema/mule/anypoint-mq/current/mule-anypoint-mq.xsd">
	<http:listener-config name="HTTP_Listener_config" doc:name="HTTP Listener config" doc:id="0778dad7-d959-4396-8532-883a6c230501" >
		<http:listener-connection host="0.0.0.0" port="8081" />
	</http:listener-config>
	<anypoint-mq:config name="Anypoint_MQ_Config" doc:name="Anypoint MQ Config" doc:id="973e27ca-beff-4510-88d8-11a05053355b" >
		<anypoint-mq:connection url="https://mq-us-east-1.qax.anypoint.mulesoft.com/api/v1" clientId="CLIENT-ID" clientSecret="CLIENT-SECRET" />
	</anypoint-mq:config>
	<flow name="mq-demoFlow" doc:id="1e7b7e94-0759-4a2f-83f0-f425ca95b571" >
		<http:listener doc:name="Listener" doc:id="57828e3a-d5c0-4b94-ac82-84e2c0e4dd2e" config-ref="HTTP_Listener_config" path="/mq/{messageId}"/>
		<anypoint-mq:publish doc:name="Publish" doc:id="17060fa4-d043-4b2f-bc5b-ecc3c905f5a2" destination="myDemoQueue" config-ref="Anypoint_MQ_Config"/>
	</flow>
</mule>

ステップ 6.Anypoint Studio 6 での Mule 3.9 アプリケーションの作成および Anypoint MQ への Mule 4 アプリケーションの接続

Mule 3.9 を使用する場合、Anypoint Studio 6 を使用して、Design Center で作成したアプリケーションと同様の Mule 3.9 アプリケーションを作成できます。 Studio 6 でアプリケーションを CloudHub にデプロイし、​curl​ コマンドを送信して接続をテストできます。

このセクションは、Anypoint Studio 6 および Mule 3.9 にのみ適用されます。Studio 7 の場合は、​「Anypoint Studio 7 での Mule 4 アプリケーションの作成および Anypoint MQ への Mule 4 アプリケーションの接続」​を参照してください。

Mule 3.9 と Studio 6.x は拡張サポートに含まれるため、Mule と Studio の最新バージョンを使用することをお勧めします。

始める前に

  • Studio 6 をインストールします。

  • Anypoint Platform で、Design (デザイン) 以外の任意の環境に変更します。

    [Anypoint Platform]​ > ​[MQ]​ で作成したキューがこの環境にもあることを確認します。

  • Anypoint Platform で認証用のクライアントアプリケーションを作成します。

    Mule 3 用 Anypoint MQ Connector では接続アプリケーションがサポートされないため、認証用のクライアントアプリケーションを作成する必要があります。 「クライアントアプリケーションの設定」を参照してください。

    後の手順でクライアントアプリケーション ID とクライアントシークレットをコピーできるように、​[Client Apps (クライアントアプリケーション)]​ ウィンドウを開いたままにします。

Anypoint Studio 6 での Anypoint MQ を使用した Mule 3.9 アプリケーションの設定

Studio 6 で Mule 3.9 アプリケーションを設定する手順は、次のとおりです。

  1. Studio を開始し、​[File (ファイル)]​ > ​[New (新規)]​ > ​[Mule Project (Mule プロジェクト)]​ をクリックし、プロジェクトに ​mq-demo-studio-6​ という名前を付けて、​[Finish (完了)]​ をクリックします。

  2. Anypoint MQ Connector をインストールします。

    1. ツールバーの ​[Exchange (エクスチェンジ)]​ アイコンをクリックします。

      Studio 6 ツールバーの [Exchange (エクスチェンジ)] アイコン
    2. Anypoint Platform のユーザー名とパスワードを入力します。

  3. Exchange で、​[Provided by MuleSoft (MuleSoft による提供)]​ ナビゲーションメニューをクリックし、ドロップダウンメニューから ​[Connectors (コネクタ)]​ を選択して、[Anypoint MQ Connector] を検索します。

    Exchange の [Provided by MuleSoft (MuleSoft による提供)] メニュー、[Connectors (コネクタ)] ドロップダウンメニュー、検索項目
    1. [Anypoint MQ Connector - Mule 3]​ を選択します。

      Studio 6 では Mule 3.9 がサポートされます。

    2. [Install (インストール)]​ をクリックします。

      Exchange ページの [Install (インストール)] アイコン
    3. 確認ダイアログで、インストールするアイテムを確認し、​[Next (次へ)]​ を 2 回クリックします。

    4. ライセンス契約に同意して ​[Finish (完了)]​ をクリックします。

    5. 確認ダイアログで、​[Restart Now (今すぐ再起動)]​ をクリックし、コネクタのインストールを終了します。

  4. [Mule Palette (Mule パレット)]​ で ​[HTTP]​ を Studio キャンバスにドラッグします。

    [Mule Palette (Mule パレット)] の HTTP Connector
  5. [Mule Palette (Mule パレット)]​ で次の操作を行います。

    1. set​ を検索し、​[Set Payload]​ をキャンバスの [HTTP] の ​[Process (プロセス)]​ 領域にドラッグします。

    2. mq​ を検索し、​[Anypoint MQ]​ をキャンバスの ​[Set Payload]​ にドラッグします。

    3. logger​ を検索し、​[Logger]​ をキャンバスの ​[Anypoint MQ]​ にドラッグします。

      Studio 6 キャンバス内のフロー
  6. キャンバスで ​[HTTP]​ をクリックします。

  7. [HTTP] プロパティウィンドウで、​[General (一般)]​ > ​[Path (パス)]​ を ​/mq/{messageId}​ に設定します。

    [HTTP] プロパティウィンドウ
  8. HTTP Connector をクリックし、​[Connector Configuration (コネクタ設定)]​ の ​[Add (追加)]​ アイコン (​"Studio の [Add (追加) アイコン",2.5%,2.5%]​) をクリックします。

  9. HTTP Connector の ​[Global Element Properties (グローバル要素のプロパティ)]​ ウィンドウで、​[Host (ホスト)]​ が ​0.0.0.0​ に設定され、​[Port (ポート)]​ が ​8081​ に設定されていることを確認し、​[OK]​ をクリックします。

    これで、[HTTP] プロパティウィンドウは、エラーがないことを示します。

  10. キャンバスで ​[Set Payload]​ をクリックします。

  11. [Set Payload] プロパティウィンドウで、​[General (一般)]​ > ​[Value (値)]​ を次のように設定します。

    #[message.inboundProperties.'http.uri.params'.messageId]
    [Value (値)] 項目のペイロード
  12. キャンバスで ​[Anypoint MQ]​ をクリックします。

  13. [Anypoint MQ] プロパティウィンドウで、​[Connector Configuration (コネクタ設定)]​ の ​[Add (追加)]​ アイコン (​"Studio の [Add (追加) アイコン",2.5%,2.5%]​) をクリックします。

  14. [Anypoint Platform]​ > ​[MQ]​ に戻り、URL、クライアントアプリケーション ID、およびクライアントシークレットの値を Studio にコピーします。

    1. [Destinations (宛先)]​ をクリックします。

    2. [Copy (コピー)]​ をクリックして、メニューから ​[Connector version 3.x and earlier (コネクタバージョン 3.x 以前)]​ を選択します。

      [Destinations (宛先)] ページの [Copy (コピー)] ボタン

      Anypoint MQ Connector バージョン 3.x は Mule 3.9 および Mule 6 で使用します。

    3. Studio の ​[Anypoint MQ Configuration (Anypoint MQ 設定)]​ ウィンドウで、​[URL]​ 項目に URL を貼り付けます。

    4. [Anypoint Platform] > [MQ]​ で ​[Client Apps (クライアントアプリケーション)]​ をクリックし、アプリケーションのクライアントアプリケーション ID とクライアントシークレットをコピーします。

    5. Studio で、クライアントアプリケーション ID とクライアントシークレットの値を ​[Anypoint MQ Configuration (Anypoint MQ 設定)]​ ウィンドウに貼り付けます。

      [Anypoint MQ Config (Anypoint MQ 設定)] ウィンドウの [URL] 項目、[Client App ID (クライアントアプリケーション ID)] 項目、[Client Secret (クライアントシークレット)] 項目
  15. [OK]​ をクリックします。

  16. [Anypoint MQ] プロパティウィンドウで ​[Operation (操作)]​ 項目をクリックし、メニューから ​[publish (パブリッシュ)]​ を選択します。

    [Anypoint MQ] プロパティウィンドウの [Operation (操作)] 項目と [Destination (宛先)] 項目
  17. [Destination (宛先)]​ を、​[Anypoint Platform]​ > ​[MQ]​ で以前作成した ​myDemoQueue​ キューに設定します。

    キューは Design (デザイン) 以外の環境に存在する必要があります。

  18. キャンバスで ​[Logger]​ をクリックします。

  19. [Logger] プロパティウィンドウで、​[General (一般)]​ > ​[Message (メッセージ)]​ を ​MQ Message: #[payload]​ に設定します。

    [Logger] プロパティの [Message (メッセージ)] ペイロード
  20. プロジェクトを保存します。

  21. Studio の ​Package Explorer​ で、​mq-demo-studio-6​ を右クリックし、​[Anypoint Platform]​ > ​[Deploy to Cloud (クラウドにデプロイ)]​ を選択します。

  22. 確認ダイアログで、アプリケーションのデプロイ先の環境を選択します。

  23. Anypoint Platform の ​[Deploying Application (アプリケーションのデプロイ)]​ ウィンドウで ​[Deploy Application (アプリケーションをデプロイ)]​ をクリックします。

    [Deploying Applications (アプリケーションのデプロイ)] ページの [Deploy Application (アプリケーションをデプロイ)] ボタン

Studio 6 を使用して、Anypoint MQ に接続する Mule 3.9 アプリケーションを正常に設定しました。次に、REST API コマンドを Anypoint MQ Broker API に送信し、Anypoint MQ を使用して結果を表示することで、接続をテストします。

Studio 6 での Mule 3.9 アプリケーションのテスト

Mule 3.9 アプリケーションをテストするには、​アプリケーションのテスト​の手順に従って、​curl​ コマンドを使用して REST API コマンドを Anypoint MQ Broker API に送信し、Anypoint MQ を使用して結果を表示します。

Studio 6 XML

Anypoint MQ Connector を使用してアプリケーションを設定したら、次の XML と比較して設定を確認できます。

Studio の ​[Configuration XML (設定 XML)]​ をクリックし、各自の XML と次の XML を比較します。必要に応じて、修正を行うことができます。

<?xml version="1.0" encoding="UTF-8"?>

<mule xmlns:http="http://www.mulesoft.org/schema/mule/http" xmlns:anypoint-mq="http://www.mulesoft.org/schema/mule/anypoint-mq" xmlns="http://www.mulesoft.org/schema/mule/core" xmlns:doc="http://www.mulesoft.org/schema/mule/documentation"
  xmlns:spring="http://www.springframework.org/schema/beans"
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-current.xsd
http://www.mulesoft.org/schema/mule/core http://www.mulesoft.org/schema/mule/core/current/mule.xsd
http://www.mulesoft.org/schema/mule/http http://www.mulesoft.org/schema/mule/http/current/mule-http.xsd
http://www.mulesoft.org/schema/mule/anypoint-mq http://www.mulesoft.org/schema/mule/anypoint-mq/current/mule-anypoint-mq.xsd">
    <http:listener-config name="HTTP_Listener_Configuration" host="0.0.0.0" port="8081" doc:name="HTTP Listener Configuration"/>
    <anypoint-mq:config name="Anypoint_MQ_Configuration" doc:name="Anypoint MQ Configuration">
        <anypoint-mq:provider url="https://mq-us-east-1.anypoint.mulesoft.com/api/v1" clientId="CLIENT_ID" clientSecret="CLIENT_SECRET"/>
    </anypoint-mq:config>
    <flow name="mq-demo-studio-6Flow">
        <http:listener config-ref="HTTP_Listener_Configuration" path="/mq/{messageId}" doc:name="HTTP"/>
        <set-payload value="#[message.inboundProperties.'http.uri.params'.messageId]" doc:name="Set Payload"/>
        <anypoint-mq:publish config-ref="Anypoint_MQ_Configuration" destination="myDemoQueue" doc:name="Anypoint MQ"/>
        <logger message="MQ Message: #[payload]" level="INFO" doc:name="Logger"/>
    </flow>
</mule>