すべてのプロダクト
Search
ドキュメントセンター

EventBridge:ApsaraMQ for RocketMQ へのイベントのルーティング

最終更新日:Jan 11, 2025

イベントルールを使用して、イベントをフィルタリングし、ApsaraMQ for RocketMQ にルーティングできます。このトピックでは、カスタムイベントを ApsaraMQ for RocketMQ にルーティングするための前提条件と手順について説明します。また、結果の検証方法についても説明します。

前提条件

手順 1:カスタムイベントソースを追加する

  1. EventBridge コンソール にログオンします。左側のナビゲーションペインで、[イベントバス] をクリックします。

  2. 上部のナビゲーションバーで、リージョンを選択します。[イベントバス] ページで、管理するカスタムイベントバスの名前をクリックします。

  3. 左側のナビゲーションペインで、[イベントソース] をクリックし、次に [イベントソースの追加] をクリックします。

  4. [カスタムイベントソースの追加] パネルで、[名前] パラメーターと [説明] パラメーターを設定し、[イベントプロバイダー] ドロップダウンリストから [カスタムアプリケーション] を選択し、[OK] をクリックします。

手順 2:イベントルールを作成する

重要

イベントルールに設定するイベントターゲットは、イベントルールと同じリージョンに存在する必要があります。

  1. EventBridge コンソール にログオンします。

  2. 左側のナビゲーションペインで、[イベントバス] をクリックします。

  3. 上部のナビゲーションバーで、リージョンを選択します。

  4. [イベントバス] ページで、管理するイベントバスの名前をクリックします。

  5. 左側のナビゲーションペインで、[イベントルール] をクリックします。

  6. [イベントルール] ページで、[ルールの作成] をクリックします。

  7. [ルールの作成] パネルで、次の操作を実行します。

    1. 基本情報の設定 手順で、名前 フィールドにルール名を入力し、[説明] フィールドにルールの説明を入力し、次へ をクリックします。

    2. イベントパターンの設定 手順で、イベントソースタイプ パラメーターを カスタムイベントソース に設定し、イベントソース ドロップダウンリストから手順 1 で作成したカスタムイベントソースを選択し、パターン内容 コードエディターでイベントパターンを指定し、次へ をクリックします。

      詳細については、「イベントパターン」をご参照ください。

    3. イベントターゲットの設定 手順で、イベントターゲットを設定します。次に、作成 をクリックします。

      説明

      イベントルールには最大 5 つのイベントターゲットを設定できます。

      ApsaraMQ for RocketMQ をイベントターゲットとして選択した場合に設定できるパラメーターを次の表に示します。

      パラメーター

      説明

      サービスタイプ

      Message Queue for Apache RocketMQ をクリックします。

      インスタンス ID

      作成した Message Queue for Apache RocketMQ インスタンスの ID を選択します。

      Topic

      作成したトピックを選択します。

      メッセージ本文

      EventBridge は JSONPath を使用してイベントからデータを抽出し、イベントの指定された内容をイベントターゲットにルーティングします。例:

      イベントの一部

      $.data.body

      カスタムプロパティ

      EventBridge は JSONPath を使用してイベントからデータを抽出し、イベントの指定されたプロパティをイベントターゲットにルーティングします。例:

      テンプレート

      パラメーター

      {
        "userProperties":"$.data.userProperties",
        "msgId":"$.data.systemProperties.UNIQ_KEY"
      }

      テンプレート

      {
        "EB_SYS_EMBED_OBJECT":"${userProperties}",
        "UNIQ_KEY":"${msgId}"
      }

      メッセージインデックス

      EventBridge は JSONPath を使用してイベントからデータを抽出し、イベントの指定された内容をイベントターゲットにルーティングします。

      イベントの一部

      $.data.systemProperties.KEYS

      メッセージタグ

      EventBridge は JSONPath を使用してイベントからデータを抽出し、イベントの指定された内容をイベントターゲットにルーティングします。

      イベントの一部

      $.data.systemProperties.TAGS

      EventBridge はさまざまなイベント変換方法を提供します。詳細については、「イベント変換」をご参照ください。以下に、各イベント変換方法の例を示します。

      • イベントの一部 の例

        $.data.body
      • 固定値 の例

        アラートに注意してください。
      • パラメーターテンプレート の例

        パラメーター のサンプル:

        {
          "type":"$.type"
        }

        テンプレート のサンプル

        イベントタイプは ${type} です。

手順 3:イベントを公開する

  1. EventBridge コンソール にログオンします。左側のナビゲーションペインで、[イベントバス] をクリックします。

  2. 上部のナビゲーションバーで、リージョンを選択します。
  3. [イベントバス] ページで、イベントを公開するイベントバスを見つけ、イベントのパブリッシュ操作 列の をクリックします。
    説明 EventBridge コンソールでは、カスタムイベントバスにのみイベントを公開できます。
  4. [カスタムイベントバスへのイベントの公開] パネルで、カスタムイベントソース ドロップダウンリストからカスタムイベントソースを選択し、イベント本体 コードエディターにイベントの内容を入力し、[OK] をクリックします。
    イベントパラメーターの詳細については、「概要」をご参照ください。

結果の検証

ApsaraMQ for RocketMQ コンソールで、イベントが受信されたかどうかを確認できます。

  1. ApsaraMQ for RocketMQ コンソール にログオンします。

  2. 左側のナビゲーションペインで、インスタンスリスト をクリックします。

  3. 上部のナビゲーションバーで、中国 (杭州) などのリージョンを選択します。

  4. インスタンスリスト ページで、必要なインスタンスを見つけ、詳細 > メッセージ検索[アクション] 列で を選択します。

  5. メッセージ検索 ページで、トピックでクエリ[クエリ方法] ドロップダウンリストから 時間範囲検索 を選択し、[トピック] ドロップダウンリストからメッセージをクエリするトピックを選択し、 パラメーターを設定し、 をクリックします。

受信したイベントの内容のサンプルコードを以下に示します。

{
    "id":"94ebc15f-f0db-4bbe-acce-56fb72fb****",
    "source":"acs:mq",
    "specversion":"1.0",
    "type":"mq:Topic:SendMessage",
    "datacontenttype":"application/json; charset=utf-8",
    "subject":"acs:mq:cn-hangzhou:123456789098****:MQ_INST_123456789098****_BXhFHryi%TopicName",
    "time":"2021-04-08T06:01:20.766Z",
    "aliyunpublishtime":"2021-04-08T06:01:20.725Z",
    "aliyuneventbusname":"BusName",
    "data":{
        "topic":"TopicName",
        "systemProperties":{
            "MIN_OFFSET":"0",
            "TRACE_ON":"true",
            "MAX_OFFSET":"8",
            "MSG_REGION":"cn-hangzhou",
            "KEYS":"systemProperties.KEYS",  // systemProperties.KEYS
            "CONSUME_START_TIME":1628577790396,
            "UNIQ_KEY":"AC14C305069E1B28CDFA3181CDA2****",
            "TAGS":"systemProperties.TAGS",  // systemProperties.TAGS
            "INSTANCE_ID":"MQ_INST_123456789098****_BXhFHryi"
        },
        "userProperties":{
        },
        "body":"TEST"
    }
}