事件概述
事件是狀態(tài)變化的數(shù)據(jù)記錄。本文介紹事件總線EventBridge的事件參數(shù)詳情。
事件源發(fā)布事件到事件總線EventBridge需要按照CloudEvents規(guī)范。關(guān)于CloudEvents規(guī)范的更多信息,請(qǐng)參見CloudEvents 1.0。
以下是事件源發(fā)布到事件總線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"
}
事件中涉及的參數(shù)如下所示。
參數(shù) | 類型 | 是否必選 | 示例值 | 說明 |
id | String | 是 | 45ef4dewdwe1-7c35-447a-bd93-fab**** | 事件ID。標(biāo)識(shí)事件的唯一值。發(fā)送端必須確保source+id是唯一的,如果由于網(wǎng)絡(luò)等原因事件被重新發(fā)送,可能會(huì)產(chǎn)生兩個(gè)相同id的事件。接收端會(huì)認(rèn)為具有相同source和id的事件是重復(fù)的。事件通過規(guī)則路由到目標(biāo)、事件被處理時(shí),需要根據(jù)id跟蹤事件。 |
source | String | 是 | acs:aliyuncvc | 事件源。提供事件的服務(wù)。標(biāo)識(shí)事件發(fā)生的內(nèi)容。一般會(huì)包含事件源的類型,發(fā)布事件的機(jī)制或生產(chǎn)事件的過程。發(fā)送端必須確保每個(gè)事件的source+id是唯一的。 |
specversion | String | 是 | 1.0 | CloudEvents協(xié)議版本。 |
type | String | 是 | aliyuncvc:MeetingEvent:MemberOperate | 事件類型。描述事件源相關(guān)的事件類型。該參數(shù)用于路由、事件查詢和策略執(zhí)行等。格式由生產(chǎn)者定義且包含版本等信息。 |
datacontenttype | String | 否 | application/json;charset=utf-8 | 參數(shù)data的內(nèi)容形式。datacontenttype只支持application/json格式。 |
dataschema | URI | 否 | 無 | 參數(shù)data遵循的模式。 |
subject | String | 否 | acs.aliyuncvc:cn-hangzhou:{AccountId}:215672 | 事件主體。JSON數(shù)據(jù)包含標(biāo)識(shí)事件中涉及的資源的ARN。在發(fā)布訂閱模式中,訂閱者通常訂閱source發(fā)出的事件。當(dāng)source中包含子結(jié)構(gòu)時(shí),只使用source無法對(duì)具體事件進(jìn)行清晰的定義。subject參數(shù)在訂閱過濾場景中對(duì)data無法解釋的內(nèi)容提供說明。 |
time | Timestamp | 否 | 2020-11-19T21:04:41+08:00 | 事件產(chǎn)生的時(shí)間。如果無法確定事件發(fā)生的時(shí)間,CloudEvents生產(chǎn)者可以把time設(shè)置為其他時(shí)間(例如當(dāng)前時(shí)間),但是同一個(gè)source的所有生產(chǎn)者設(shè)置的值必須是一致的。 |
data | Struct | 否 |
| 事件內(nèi)容。JSON對(duì)象,內(nèi)容由發(fā)起事件的服務(wù)決定。CloudEvents可能包含事件發(fā)生時(shí)由事件生產(chǎn)者給定的上下文,data中封裝了這些信息。 |
aliyunaccountid | String | 否 | 123456789098**** | 阿里云賬號(hào)ID。該參數(shù)是事件從事件源發(fā)布到事件總線EventBridge后新增的,不是CloudEvents規(guī)范中的參數(shù)。 |
aliyunpublishtime | Timestamp | 否 | 2020-11-19T21:04:42.179PRC | 接收事件的時(shí)間。該參數(shù)是事件從事件源發(fā)布到事件總線EventBridge后新增的,不是CloudEvents規(guī)范中的參數(shù)。 |
aliyuneventbusname | String | 是 | default | 接收事件的事件總線名稱。該參數(shù)是事件從事件源發(fā)布到事件總線EventBridge后新增的,不是CloudEvents規(guī)范中的參數(shù)。 |
aliyunregionid | String | 否 | cn-hangzhou | 接收事件的地域。該參數(shù)是事件從事件源發(fā)布到事件總線EventBridge后新增的,不是CloudEvents規(guī)范中的參數(shù)。 |
aliyunpublishaddr | String | 否 | 172.25.XX.XX | 接收事件的服務(wù)器地址。該參數(shù)是事件從事件源發(fā)布到事件總線EventBridge后新增的,不是CloudEvents規(guī)范中的參數(shù)。 |
事件源發(fā)布到事件總線EventBridge的事件有以下兩種類型:
阿里云服務(wù)事件
阿里云服務(wù)作為事件源自動(dòng)接入事件總線EventBridge。事件總線EventBridge支持的所有阿里云服務(wù)事件類型,請(qǐng)參見阿里云服務(wù)事件。
自定義應(yīng)用事件
您自己的應(yīng)用作為事件源接入時(shí),需要配置自己的應(yīng)用使用SDK接入事件總線EventBridge。