事件结构参考 - Amazon EventBridge
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

事件结构参考

事件中会出现以下字段:

{ "version": "0", "id": "UUID", "detail-type": "event name", "source": "event source", "account": "ARN", "time": "timestamp", "region": "region", "resources": [ "ARN" ], "detail": { JSON object } }
版本

默认情况下,在所有事件中设置为 0 (零)。

id

为每个事件生成的版本 4 UUID。事件通过各种规则移动到目标时,可以使用 id 跟踪事件。

detail-type

source 字段组合起来标识显示在 detail 字段中的字段和值。

由交付的事件 CloudTrail AWS API Call via CloudTrail具有的价值detail-type

标识生成事件的服务。所有来自 Amazon 服务的事件都以“aws”开头。客户生成的事件可具有任意值,前提是它不以“aws.”开头。建议使用 Java 包名样式反向域名字符串。

要查找 Amazon 服务的正确值,请参阅条件键表,从列表中选择一个服务,然后查找服务前缀source例如,Amazon 的source值 CloudFront 为aws.cloudfront

account

用于标识 Amazon 账户的 12 位数字。

time

事件时间戳,可由发起事件的服务指定。如果事件跨时间间隔,则服务可报告开始时间,因此该值可能早于接收事件的时间。

region

标识事件起源的地 Amazon 区。

资源

一个 JSON 数组,包含用于标识事件中所涉及资源的 ARN。生成事件的服务决定是否包含这些 ARN。例如,Amazon EC2 实例状态更改包含 Amazon EC2 实例 ARN,Auto Scaling 事件包含实例和 Auto Scaling 组的 ARN,而对 Amazon CloudTrail 的 API 调用不包含资源 ARN。

detail

包含关于事件信息的 JSON 对象。生成事件的服务决定该字段的内容。详细内容可以像两个字段一样简单。 Amazon API 调用事件具有细节对象,其中大约 50 个字段嵌套在几个层次深处。

例 示例:Amazon EC2 实例状态更改通知

亚马逊中的以下事件 EventBridge 表示 Amazon EC2 实例已终止。

{ "version": "0", "id": "6a7e8feb-b491-4cf7-a9f1-bf3703467718", "detail-type": "EC2 Instance State-change Notification", "source": "aws.ec2", "account": "111122223333", "time": "2017-12-22T18:43:48Z", "region": "us-west-1", "resources": [ "arn:aws:ec2:us-west-1:123456789012:instance/i-1234567890abcdef0" ], "detail": { "instance-id": " i-1234567890abcdef0", "state": "terminated" } }

有效的自定义事件所需的最少信息

创建自定义事件时,必须包括以下字段:

{ "detail-type": "event name", "source": "event source", "detail": { } }
  • detail - 包含有关事件信息的 JSON 对象。可以是 "{}"

    注意

    PutEvents接受 JSON 格式的数据。对于 JSON 数字(整数)数据类型,限制条件为:最小值为 -9,223,372,036,854,775,808,最大值为 9,223,372,036,854,775,807。

  • detail-type - 标识事件类型的字符串。

  • source - 标识事件源的字符串。客户生成的事件可具有任意值,前提是它不以“aws.”开头。建议使用 Java 包名样式反向域名字符串。