事件是狀態變化的資料記錄。本文介紹事件匯流排EventBridge的事件參數詳情。
事件來源發布事件到事件匯流排EventBridge需要按照CloudEvents規範。關於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。標識事件的唯一值。發送端必須確保source+id是唯一的,如果由於網路等原因事件被重新發送,可能會產生兩個相同id的事件。接收端會認為具有相同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的內容形式。datacontenttype只支援application/json格式。 |
dataschema | URI | 否 | 無 | 參數data遵循的模式。 |
subject | String | 否 | acs.aliyuncvc:cn-hangzhou:{AccountId}:215672 | 事件主體。JSON資料包含標識事件中涉及的資源的ARN。在發布訂閱模式中,訂閱者通常訂閱source發出的事件。當source中包含子結構時,只使用source無法對具體事件進行清晰的定義。subject參數在訂閱過濾情境中對data無法解釋的內容提供說明。 |
time | Timestamp | 否 | 2020-11-19T21:04:41+08:00 | 事件產生的時間。如果無法確定事件發生的時間,CloudEvents生產者可以把time設定為其他時間(例如目前時間),但是同一個source的所有生產者設定的值必須是一致的。 |
data | Struct | 否 |
| 事件內容。JSON對象,內容由發起事件的服務決定。CloudEvents可能包含事件發生時由事件生產者給定的上下文,data中封裝了這些資訊。 |
aliyunaccountid | String | 否 | 123456789098**** | 阿里雲帳號ID。該參數是事件從事件來源發布到事件匯流排EventBridge後新增的,不是CloudEvents規範中的參數。 |
aliyunpublishtime | Timestamp | 否 | 2020-11-19T21:04:42.179PRC | 接收事件的時間。該參數是事件從事件來源發布到事件匯流排EventBridge後新增的,不是CloudEvents規範中的參數。 |
aliyuneventbusname | String | 是 | default | 接收事件的事件匯流排名稱。該參數是事件從事件來源發布到事件匯流排EventBridge後新增的,不是CloudEvents規範中的參數。 |
aliyunregionid | String | 否 | cn-hangzhou | 接收事件的地區。該參數是事件從事件來源發布到事件匯流排EventBridge後新增的,不是CloudEvents規範中的參數。 |
aliyunpublishaddr | String | 否 | 172.25.XX.XX | 接收事件的伺服器位址。該參數是事件從事件來源發布到事件匯流排EventBridge後新增的,不是CloudEvents規範中的參數。 |
事件來源發布到事件匯流排EventBridge的事件有以下兩種類型:
阿里雲服務事件
阿里雲服務作為事件來源自動接入事件匯流排EventBridge。事件匯流排EventBridge支援的所有阿里雲服務事件類型,請參見阿里雲服務事件。
自訂應用事件
您自己的應用作為事件來源接入時,需要配置自己的應用使用SDK接入事件匯流排EventBridge。