イベントとは、状態の変化を記録したデータです。このトピックでは、EventBridge のイベントパラメーターの詳細について説明します。
イベントソースは、CloudEvents 仕様に準拠したイベントのみを EventBridge にパブリッシュできます。 CloudEvents 仕様の詳細については、CloudEvents 1.0 をご参照ください。
次のサンプルコードは、イベントソースが EventBridge にパブリッシュするイベントの例を示しています。
{
"data":{
"meetingName":"swqd",
"groupId":"456",
"action":"camera_off",
"time":1590592527490,
"userId":"199525",
"meetingUUID":"hz-20864c8f-b10d-45cd-9935-884bca1b****"
},
"id":"45ef4dewdwe1-7c35-447a-bd93-fab****",
"source":"acs:aliyuncvc",
"specversion":"1.0",
"subject":"acs.aliyuncvc:cn-hangzhou:{AccountId}:215672",
"time":"2020-11-19T21:04:41+08:00",
"type":"aliyuncvc:MeetingEvent:MemberOperate",
"aliyunaccountid":"123456789098****",
"aliyunpublishtime":"2020-11-19T21:04:42.179PRC",
"aliyuneventbusname":"default",
"aliyunregionid":"cn-hangzhou",
"aliyunpublishaddr":"172.25.XX.XX"
}
次の表は、上記のイベントのパラメーターについて説明しています。
パラメーター | タイプ | 必須 | 例 | 説明 |
id | String | はい | 45ef4dewdwe1-7c35-447a-bd93-fab**** | イベント ID。 ID はイベントの一意の識別子です。プロデューサーは、各イベントについて source パラメーターと id パラメーターの値が一意であることを確認する必要があります。ネットワークエラーなどの例外が原因でイベントが再送信された場合、id 値が同じ 2 つのイベントが受信される可能性があります。レシーバーは、source パラメーターと id パラメーターの値が同一であるイベントを重複イベントと見なします。イベントがイベントターゲットにルーティングされて処理されると、システムはこの ID を使用してイベントを追跡します。 |
source | String | はい | acs:aliyuncvc | イベントソース。イベントを生成するサービスであり、イベントが発生するコンテキストを識別します。このパラメーターの値には、イベントソースのタイプ、イベントのパブリッシュメカニズムまたは生成プロセスなどの情報が含まれます。プロデューサーは、各イベントについて source パラメーターと id パラメーターの値が一意であることを確認する必要があります。 |
specversion | String | はい | 1.0 | CloudEvents 仕様のバージョン。 |
type | String | はい | aliyuncvc:MeetingEvent:MemberOperate | イベントタイプ。このパラメーターはイベントソースに関連しています。このパラメーターは、イベントのルーティング、イベントのクエリ、およびポリシーの実装に使用されます。このパラメーターの形式はプロデューサーによって定義され、バージョン番号などの情報が含まれます。 |
datacontenttype | String | いいえ | application/json;charset=utf-8 | data パラメーターのコンテンツタイプ。 application/json コンテンツタイプのみがサポートされています。 |
dataschema | URI | いいえ | なし | data パラメーターの形式。 |
subject | String | いいえ | acs.aliyuncvc:cn-hangzhou:{AccountId}:215672 | イベントのサブジェクト。 JSON データには、イベントに関連するリソースを識別する Alibaba Cloud Resource Names (ARN) が含まれています。パブリッシュ/サブスクライブモデルでは、サブスクライバーはイベントソースからのイベントをサブスクライブします。ただし、source パラメーターにサブ構造が含まれている場合、source パラメーターだけではイベントを識別できません。 data コンテンツを解釈できない場合、サブスクリプションフィルタリングシナリオで subject パラメーターを使用してイベントのサブジェクトを識別できます。 |
time | Timestamp | いいえ | 2020-11-19T21:04:41+08:00 | イベントが発生した時刻。イベントが発生した時刻が不明な場合、CloudEvents 形式のイベントのプロデューサーは、time パラメーターを現在時刻などの別の値に設定できます。ただし、同じソースのすべてのプロデューサーは、source パラメーターを同じ値に設定する必要があります。 |
data | Struct | いいえ |
| イベントコンテンツ。値は JSON オブジェクトであり、イベントを生成するイベントソースによって決定されます。 CloudEvents には、イベント発生時にイベントプロデューサーによって提供されたコンテキストが含まれる場合があります。この情報は data パラメーターにカプセル化されています。 |
aliyunaccountid | String | いいえ | 123456789098**** | Alibaba Cloud アカウントの ID。このパラメーターは CloudEvents 仕様では定義されておらず、イベントソースがイベントを EventBridge にパブリッシュした後にイベントに追加されます。 |
aliyunpublishtime | Timestamp | いいえ | 2020-11-19T21:04:42.179PRC | イベントが受信された時刻。このパラメーターは CloudEvents 仕様では定義されておらず、イベントソースがイベントを EventBridge にパブリッシュした後にイベントに追加されます。 |
aliyuneventbusname | String | はい | default | イベントを受信するイベントバスの名前。このパラメーターは CloudEvents 仕様では定義されておらず、イベントソースがイベントを EventBridge にパブリッシュした後にイベントに追加されます。 |
aliyunregionid | String | いいえ | cn-hangzhou | イベントが受信されたリージョン。このパラメーターは CloudEvents 仕様では定義されておらず、イベントソースがイベントを EventBridge にパブリッシュした後にイベントに追加されます。 |
aliyunpublishaddr | String | いいえ | 172.25.XX.XX | イベントを受信するサーバーの IP アドレス。このパラメーターは CloudEvents 仕様では定義されておらず、イベントソースがイベントを EventBridge にパブリッシュした後にイベントに追加されます。 |
イベントソースが EventBridge にパブリッシュするイベントは、次のタイプに分類されます。
Alibaba Cloud サービスイベント
Alibaba Cloud サービスは、イベントソースとして EventBridge に自動的に接続します。 EventBridge でサポートされている Alibaba Cloud サービスイベントタイプの詳細については、Alibaba Cloud サービスイベントソース をご参照ください。
カスタムアプリケーションイベント
アプリケーションをイベントソースとして使用する場合は、SDK を使用してアプリケーションを EventBridge に接続する必要があります。