本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
事件结构参考
事件中会出现以下字段:
{
"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 包名样式反向域名字符串。