事件概述 事件由事件源发出,是事件源状态变化的数据记录。本文介绍事件总线EventBridge的事件参数详情。事件源发布事件到事件总线EventBridge,需遵循CloudEvents 1.0协议。 以下是事件源发布到事件总线EventBridge的示例事件: plaintext { "id":"b5771f7648edb1bad15418c", "source":"ctyun.oss", "specversion":"1.0", "type":"my.source:events", "subject":"my.source:huadong1:{AccountId}:myproject:xxx", "time":"20240305T13:52:18.374Z", "datacontenttype":"application/json;charsetutf8", "data":{ "key":"value", "def":"xxxx" }, "ctyunaccountid":"123456789", "ctyunresourceid":"27aadda411eea6fce8b47009", "ctyuneventbusname":"default", "ctyunregion":"bb9fdb4205610002", } 事件中涉及的参数如下所示。 参数 类型 是否必选 示例值 说明 id String 是 b5771f7648edb1bad15418c 事件ID。标识事件的唯一值。发送端必须确保source +id 是唯一的,如果由于网络等原因事件被重新发送,可能会产生两个相同id 的事件。接收端会认为具有相同source 和id 的事件是重复的。事件通过规则路由到目标、事件被处理时,需要根据id跟踪事件。 source String 是 ctyun.oss 事件源唯一标识。提供事件的服务。标识事件发生的内容。一般会包含事件源的类型,发布事件的机制或生产事件的过程。发送端必须确保每个事件的source +id是唯一的。 specversion String 是 1.0 CloudEvents协议版本。 type String 是 oss:createbucket 事件类型。描述事件源相关的事件类型。该参数用于路由、事件查询和策略执行等。格式由生产者定义,且包含版本等信息。 subject String 否 ctyun.oss:huadong1:{AccountId}:bucketnamexxx 事件主体。在发布订阅模式中,订阅者通常订阅source 发出的事件,当source 中包含子结构时,只使用source 无法对具体事件进行清晰的定义,subject 参数在订阅过滤场景中对data无法解释的内容提供说明。 time Timestamp 否 20240305T13:52:18.374Z 事件产生的时间。如果无法确定事件发生的时间,事件生产者可以把time 设置为其他时间(例如当前时间),但是同一个source的所有生产者设置的值必须是一致的。 datacontenttype String 否 application/json;charsetutf8 参数data 的内容形式。datacontenttype只支持application/json格式。 data Struct 否 { "abc":"1111", "def":"xxxx" } 事件内容。JSON对象,内容由发起事件的服务决定。CloudEvents可能包含事件发生时由事件生产者给定的上下文,data中封装了这些信息。 ctyunaccountid String 否 123456789 天翼云账号ID,选填,不是CloudEvents1.0协议规定的必选字段。 ctyunuserid String 否 123456789 天翼云用户ID,选填,不是CloudEvents1.0协议规定的必选字段。 ctyunresourceid String 否 27aadda4db9411eea6fce8b47009 天翼云资源ID,选填,不是CloudEvents1.0协议规定的必选字段。 ctyuneventbusname String 是 default 接收事件的事件总线名称,必填。如:官方产品专用总线为default,亦可填写用户创建的自定义总线名。 ctyunregion String 否 bb9fdb4205610002 接收事件的地域。如华东一为:bb9fdb4205610002,选填。 事件源发布到事件总线EventBridge的事件有以下两种类型: 天翼云服务事件 天翼云服务作为事件源自动接入事件总线EventBridge,将事件投递到总线名为default的官方总线。关于事件总线EventBridge支持的所有天翼云服务事件类型,请参见天翼云官方事件源概述。 自定义应用事件 您自己的应用作为事件源接入时,需要配置自己的应用使用SDK接入事件总线EventBridge,详见SDK概述。