EventBridge を使用すると、RocketMQ 用 ApsaraMQ に接続してイベントを分析し、イベントトレースを表示し、データを転送できます。 このトピックでは、RocketMQ 用 ApsaraMQ タイプのカスタムイベントソースを EventBridge コンソールで作成する方法について説明します。
前提条件
RocketMQ 用 ApsaraMQ
RocketMQ 用 ApsaraMQ がアクティブ化されており、必要な権限が Resource Access Management (RAM) ユーザーに付与されています。 詳細については、「RocketMQ 用 ApsaraMQ をアクティブ化して権限を付与する」をご参照ください。
RocketMQ 用 ApsaraMQ インスタンスが作成され、インスタンスにトピックとコンシューマーグループが作成されています。 詳細については、「リソースを作成する」をご参照ください。
EventBridge
EventBridge がアクティブ化されており、必要な権限が RAM ユーザーに付与されています。 詳細については、「EventBridge をアクティブ化し、RAM ユーザーに権限を付与する」をご参照ください。
カスタムイベントバスが作成されています。 詳細については、「カスタムイベントバスを作成する」をご参照ください。
手順
- EventBridge コンソールにログインします。
- 左側のナビゲーションペインで、[イベントバス] をクリックします。
- 上部のナビゲーションバーで、リージョンを選択します。
[イベントバス] ページで、管理するイベントバスの名前をクリックします。
左側のナビゲーションペインで、[イベントソース] をクリックします。
表示されるページで、イベントソースの追加 をクリックします。Event Source
カスタムイベントソースの追加 パネルで、名前 パラメーターと 説明 パラメーターを設定します。 次に、Message Queue for Apache RocketMQイベントプロバイダー ドロップダウンリストから OK を選択し、画面の指示に従って他のパラメーターを設定し、 をクリックします。 以下の項目では、パラメーターについて説明します。
リージョン: 作成した RocketMQ 用 ApsaraMQ インスタンスが存在するリージョンを選択します。
バージョン: RocketMQ 用 ApsaraMQ インスタンスのバージョンを選択します。有効な値:[rocketmq 4.x] および [rocketmq 5.x]。
RocketMQ インスタンス: 作成した RocketMQ 用 ApsaraMQ インスタンスを選択します。
Topic: RocketMQ 用 ApsaraMQ インスタンスで作成したトピックを選択します。
(オプション) Tag: メッセージをフィルタリングするためのタグを入力します。
Group ID: ApsaraMQ for RocketMQ インスタンスで作成したコンシューマーグループの ID を選択します。
説明グループはビジネスメッセージの種類に対応します。既存のビジネスで使用されているコンシューマーグループを指定しないでください。異なるイベントソースには異なるグループ ID を使用してください。
コンシューマーオフセット: メッセージが消費されるオフセットを選択します。 デフォルト値:[最新のオフセット]。
サンプルイベント
{
"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"
}
}CloudEvents 仕様で定義されているパラメーターの詳細については、「概要」をご参照ください。
data に含まれるパラメーターについては、次の表で説明します。
パラメーター | タイプ | 例 | 説明 |
topic | String | TopicName | トピック名。 |
systemProperties | Map | システムプロパティ。 | |
MIN_OFFSET | Int | 0 | 最も早いオフセット。 |
TRACE_ON | Boolean | true | メッセージトレースが存在するかどうかを示します。有効な値:
|
MAX_OFFSET | Int | 8 | 最新のオフセット。 |
MSG_REGION | String | cn-hangzhou | メッセージが送信されたリージョン。 |
KEYS | String | systemProperties.KEYS | メッセージのフィルタリングに使用されるキー。 |
CONSUME_START_TIME | Long | 1628577790396 | メッセージ消費の開始時刻。単位:ミリ秒。 |
UNIQ_KEY | String | AC14C305069E1B28CDFA3181CDA2**** | メッセージの一意のキー。 |
TAGS | String | systemProperties.TAGS | メッセージのフィルタリングに使用されるタグ。 |
INSTANCE_ID | String | MQ_INST_123456789098****_BXhFHryi | RocketMQ 用 ApsaraMQ インスタンスの ID。 |
userProperties | Map | なし | ユーザープロパティ。 |
body | String | TEST | メッセージ本文。 |