事件概述

事件是状态变化的数据记录。本文介绍事件总线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的事件。接收端会认为具有相同sourceid的事件是重复的。事件通过规则路由到目标、事件被处理时,需要根据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

{
    "meetingName":"swqd",
    "groupId":"456",
    "action":"camera_off",
    "time":1590592527490,
    "userId":"199525",
    "meetingUUID":"hz-20864c8f-b10d-45cd-9935-884bca1b****"
}

事件内容。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