AWS 服务事件元数据 - Amazon EventBridge

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

AWS 服务事件元数据

以下字段出现在发送到事件总线的所有事件中,并构成了事件的元数据

{ "版本": "0", "id": "UUID", "detail-type": "event name", "": "event source", "account": "ARN", "时间": "timestamp", "region": "region", "资源": [ "ARN" ], "detail": { JSON object } }
版本

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

id

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

detail-type

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

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

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

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

account

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

时间

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

region

标识事件起源的地 AWS 区。

资源

ARNs包含用于标识事件中涉及的资源的JSON数组。生成事件的服务决定是否包括这些事件ARNs。例如,Amazon EC2 实例的状态更改包括亚马逊EC2实例ARNs,Auto Scaling 事件包括ARNs实例和 Auto Scaling 组,但API调用时 AWS CloudTrail 不包括资源ARNs。

detail

包含事件相关信息的JSON对象。生成事件的服务决定该字段的内容。可以是 "{}"

AWS APIcall 事件具有细节对象,其中大约 50 个字段嵌套在几个层次深处。

注意

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

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

亚马逊中的以下事件 EventBridge 表示亚马逊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

  • detail-type

  • source

{ "detail-type": "event name", "source": "event source", "detail": { } }