イベントは、ステータス変更のデータレコードです。リソースが作成されたとき、構成が更新されたとき、またはユーザーが操作を実行したとき、担当サービスはその変更をキャプチャし、EventBridge に発行します。
すべてのイベントは、Cloud Native Computing Foundation (CNCF) が管理するオープン標準である CloudEvents 1.0 仕様に準拠しています。これにより、すべてのイベントソースで一貫したポータブルなイベント形式が提供されます。
イベント構造
すべてのイベントは、次の 2 つの部分で構成されます。
コンテキスト属性: イベントを識別および記述するメタデータ (
source、type、id、および CloudEvents 仕様で定義されているその他の属性)。データペイロード: イベントソースによって異なるイベントコンテンツ。
最も重要な 2 つのフィールドは、source と type です。これらは、イベントの発生元と発生した内容を合わせて識別します。
{
"source": "acs:aliyuncvc",
"type": "aliyuncvc:MeetingEvent:MemberOperate",
...
}このスニペットでは、source が発信元サービスを識別し、type が特定のイベント (会議でのメンバー操作) を識別します。
次の例は、EventBridge に発行された完全なイベントを示しています。
{
"specversion": "1.0",
"id": "45ef4dewdwe1-7c35-447a-bd93-fab****",
"source": "acs:aliyuncvc",
"type": "aliyuncvc:MeetingEvent:MemberOperate",
"subject": "acs.aliyuncvc:cn-hangzhou:{AccountId}:215672",
"time": "2020-11-19T21:04:41+08:00",
"data": {
"meetingName": "swqd",
"groupId": "456",
"action": "camera_off",
"time": 1590592527490,
"userId": "199525",
"meetingUUID": "hz-20864c8f-b10d-45cd-9935-884bca1b****"
},
"aliyunaccountid": "123456789098****",
"aliyunpublishtime": "2020-11-19T21:04:42.179PRC",
"aliyuneventbusname": "default",
"aliyunregionid": "cn-hangzhou",
"aliyunpublishaddr": "172.25.XX.XX"
}CloudEvents 標準属性
CloudEvents 1.0 仕様では、これらの属性が定義されています。EventBridge は、イベントルーティング、クエリ、および重複排除にこれらの属性を使用します。
必須属性
id (String)
イベントの一意の識別子です。source + id の組み合わせは、個別のイベントごとに一意である必要があります。ネットワークエラーにより同じイベントが再送信された場合、同じ id を保持する可能性があります。コンシューマーは、source と id の値が同一のイベントを重複と見なします。EventBridge は、id を使用して、ターゲットへのルーティング中にイベントを追跡します。
例: 45ef4dewdwe1-7c35-447a-bd93-fab****
source (String)
イベントを生成したサービスです。この値は、イベントソースタイプと発行メカニズムを含む、イベントが発生したコンテキストを識別します。プロデューサーは、source + id がイベントごとに一意であることを確認する必要があります。
例: acs:aliyuncvc
specversion (String)
イベントが準拠する CloudEvents 仕様のバージョンです。
例: 1.0
type (String)
イベントソースに関連するイベントタイプです。EventBridge は、イベントルーティング、クエリ、およびポリシー適用にこの値を使用します。プロデューサーは、バージョン情報を含む可能性があるフォーマットを定義します。
例: aliyuncvc:MeetingEvent:MemberOperate
オプション属性
datacontenttype (String)
data 属性のコンテンツタイプです。EventBridge は application/json;charset=utf-8 のみをサポートします。
dataschema (URI)
data 属性のスキーマを指す URI です。
subject (String)
イベントソースのコンテキスト内におけるイベントの主題です。イベントに関連するリソースを識別する Alibaba Cloud Resource Names (ARNs) が含まれます。source だけでは十分に特定できない場合に、サブスクリプションフィルタリングにこの属性を使用します。
例: acs.aliyuncvc:cn-hangzhou:{AccountId}:215672
time (Timestamp)
イベントが発生したときのタイムスタンプです。正確な時間が不明な場合、プロデューサーはこれを現在時刻などの別の値に設定できます。ただし、同じソースのすべてのプロデューサーは、source パラメーターを同じ値に設定する必要があります。
例: 2020-11-19T21:04:41+08:00
data (Struct)
イベントペイロードです。イベントソースが構造を決定し、発生した内容の詳細が含まれます。
Alibaba Cloud 拡張属性
EventBridge は、イベントを受信した後、すべてのイベントに次の属性を追加します。これらの属性は CloudEvents 仕様の一部ではありません。
| 属性 | タイプ | 必須 | 説明 | 例 |
|---|---|---|---|---|
aliyunaccountid | String | いいえ | イベントプロデューサーの Alibaba Cloud アカウント ID。 | 123456789098**** |
aliyunpublishtime | Timestamp | いいえ | EventBridge がイベントを受信したタイムスタンプ。 | 2020-11-19T21:04:42.179PRC |
aliyuneventbusname | String | はい | イベントを受信したイベントバスの名前。 | default |
aliyunregionid | String | いいえ | EventBridge がイベントを受信したリージョン。 | cn-hangzhou |
aliyunpublishaddr | String | いいえ | イベントを受信した EventBridge サーバーの IP アドレス。 | 172.25.XX.XX |
イベントタイプ
EventBridge は、2 つのカテゴリのイベントをサポートしています。
Alibaba Cloud サービスイベント
Alibaba Cloud サービスは、イベントソースとして EventBridge と自動的に統合されます。サポートされているサービスの一覧については、「Alibaba Cloud 公式イベントソース」をご参照ください。
カスタムアプリケーションイベント
独自のアプリケーションからイベントを発行するには、SDK を介してアプリケーションを EventBridge に接続します。