本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
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": {
}
}