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

EventBridge:イベントを Message Queue for RocketMQ にルーティング

最終更新日:Jul 18, 2026

イベントルールを使用して、イベントをフィルターし、Message Queue for Apache RocketMQ にルーティングします。本トピックでは、カスタムイベントを例として、前提条件、操作手順、および検証方法について説明します。

前提条件

ステップ 1:カスタムイベントソースの追加

  1. EventBridge コンソールにログインします。左側のナビゲーションウィンドウで、[Event Buses] をクリックします。
  2. 上部のナビゲーションバーでリージョンを選択します。[Event Buses] ページで、対象のカスタムイベントバスをクリックします。
  3. 左側のナビゲーションウィンドウで、[Event Sources] をクリックし、次に [Add Event Source] をクリックします。
  4. カスタムイベントソースの追加 パネルで、NameDescription を入力します。イベントプロバイダー には イベントプロバイダー を選択し、OK をクリックします。

ステップ 2:イベントルールの作成

重要 イベントターゲットとイベントルールは同じリージョンに存在する必要があります。
  1. EventBridge コンソールにログインします。

  2. 左側のナビゲーションウィンドウで、[Event Buses] をクリックします。

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

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

  5. 左側のナビゲーションウィンドウで、[Event Rules] をクリックします。

  6. イベントルール ページで、ルールの作成 をクリックします。
  7. ルールの作成 ページで、次の手順を実行します。
    1. 基本情報の設定 ステップで、ルールの 名前Description を入力し、次へ をクリックします。
    2. イベントパターンの設定 ステップで、イベントソースタイプカスタムイベントソース に設定し、イベントソース ドロップダウンリストからステップ 1 で作成したカスタムイベントソースを選択します。パターン内容 のコードエディタにイベントパターンを入力し、次へ をクリックします。

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

    3. イベントターゲットの設定 ステップで、イベントターゲットを設定し、作成 をクリックします。
      説明 1 つのイベントルールに設定できるイベントターゲットの最大値は 5 です。

      Message Queue for Apache RocketMQ をイベントターゲットとして設定する際に使用可能なパラメーターは以下のとおりです。

      パラメーター 説明
      サービスタイプ ApsaraMQ for RocketMQ を選択します。
      インスタンス ID 作成済みの ApsaraMQ for RocketMQ インスタンスを選択します。
      Topic 作成済みのトピックを選択します。
      メッセージ本文 EventBridge は JSONPath 式を使用して、メッセージ本文用のイベントコンテンツを抽出します。

      部分イベント

      $.data.body
      カスタムプロパティ (Properties) EventBridge は JSONPath 式を使用してイベントから変数を定義し、テンプレートを使用してカスタムプロパティを作成します。

      テンプレート

      変数:
      {
        "userProperties":"$.data.userProperties",
        "msgId":"$.data.systemProperties.UNIQ_KEY"
      }
      テンプレート:
      {
        "EB_SYS_EMBED_OBJECT":"${userProperties}",
        "UNIQ_KEY":"${msgId}"
      }
      メッセージインデックス (Keys) EventBridge は JSONPath 式を使用して、メッセージキー用のイベントコンテンツを抽出します。

      部分イベント

      $.data.systemProperties.KEYS
      [Tags] EventBridge は JSONPath 式を使用して、メッセージタグ用のイベントコンテンツを抽出します。

      部分イベント

      $.data.systemProperties.TAGS

      EventBridge はイベントコンテンツに対して複数の変換タイプをサポートしています。詳細については、「イベント変換」をご参照ください。例を以下に示します。

      • 一部のイベント の例:
        $.data.body
      • Constant の例:
        Warning!
      • 変数 および テンプレート の例:

        変数 の例:

        {
          "type":"$.type"
        }

        テンプレート の例:

        The event type is ${type}.

ステップ 3:イベントの公開

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

  2. 左側のナビゲーションウィンドウで、[Event Buses] をクリックします。

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

  4. [Event Buses] ページで、対象のイベントバスを見つけ、操作 列の イベントのパブリッシュ をクリックします。

    説明

    EventBridge コンソールでは、カスタムイベントバスへのイベント公開のみがサポートされています。

  5. [Publish Event To Custom Event Bus] パネルで、次の設定を行います。

    設定説明
    カスタムイベントソースドロップダウンリストから既存のカスタムイベントソースを選択します。
    イベント本体イベントの内容を入力します。
  6. OK をクリックします。

検証

イベントが受信されたことを確認するには、Message Queue for Apache RocketMQ コンソールでメッセージをクエリします。

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

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

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

  4. インスタンスリスト ページで対象のインスタンスを見つけ、Actions 列で、詳細 > メッセージ検索 を選択します。
  5. メッセージ検索 ページで、照会方法:[By Topic] に設定し、クエリ対象のトピックを選択します。時間範囲 を指定し、検索 をクリックします。

受信したメッセージの例を以下に示します。

{
    "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",
            "CONSUME_START_TIME":1628577790396,
            "UNIQ_KEY":"AC14C305069E1B28CDFA3181CDA2****",
            "TAGS":"systemProperties.TAGS",
            "INSTANCE_ID":"MQ_INST_123456789098****_BXhFHryi"
        },
        "userProperties":{
        },
        "body":"TEST"
    }
}