本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
亚马逊 EventBridge 活动
事件表示环境、SaaS 合作伙伴服务或应用程序,或您的应用程序或服务之一。Amazon以下是事件的示例:
-
当实例状态从待处理变为正在运行时,Amazon EC2 将生成事件。
-
Amazon EC2 Auto Scaling 在启动或终止实例时生成事件。
-
Amazon CloudTrail调用 API 时发布事件。
您还可以设置定期生成的计划事件。
有关生成事件的服务列表,包括每个服务的示例事件,请参阅来自Amazon服务的事件并点击表中的链接。
事件以 JSON 对象的形式表示,它们都具有相似的结构和相同的顶级字段。
detail 顶级字段的内容因生成事件的服务以及所生成的事件而异。source 字段和 detail-type 字段的组合用于标识在 detail 字段中找到的字段和值。有关 Amazon 生成的事件示例,请参阅来自Amazon服务的事件。
以下视频解释了事件的基础知识:
以下视频介绍了事件的发生方式 EventBridge:
事件中会出现以下字段:
- version
-
默认情况下,在所有事件中设置为 0 (零)。
- id
-
为每个事件生成版本 4 UUID。事件通过规则移动
id
到目标时,您可以使用跟踪事件。 - detail-type
-
与 source 字段组合起来标识显示在 detail 字段中的字段和值。
由 CloudTrail 传送的事件的值为
detail-type
。AWS API Call via CloudTrail
- 源
-
标识生成事件的服务。来自Amazon服务的所有事件都以 “aws” 开头。客户生成的事件可具有任意值,前提是它不以“aws.”开头。建议使用 Java 包名样式反向域名字符串。
要找到Amazon服务的正确值,请参阅条件键表,从列表中选择服务,然后查找服务前缀。
source
例如,亚马逊的source
值 CloudFront 为aws.cloudfront
。 - 账户
-
标识 Amazon 账户的 12 位数字。
- time
-
事件时间戳,可由发起事件的服务指定。如果事件跨时间间隔,则服务可报告开始时间,因此该值可能早于接收事件的时间。
- 区域
-
标识事件源自的Amazon区域。
- resources
-
包含用于标识事件中涉及的资源的 ARN 的 JSON 数组。生成事件的服务决定是否包含这些 ARN。例如,Amazon EC2 实例状态更改包含 Amazon EC2 实例 ARN,Auto Scaling 事件包含实例和 Auto Scaling 组的 ARN,而对 Amazon CloudTrail 的 API 调用不包含资源 ARN。
- detail
-
包含关于事件信息的 JSON 对象。生成事件的服务决定该字段的内容。详细内容可以像两个字段一样简单。 AmazonAPI 调用事件的 detail 对象具有约 50 个字段,可嵌套多个级别。
亚马逊中的以下事件 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
— 包含关于事件信息的 JSON 对象。有可能"{}"
。注意
PutEvents接受 JSON 格式的数据。对于 J808 数据类型,限制条件是:最小值223,036,036,036,036,036,036,036,036,036,036,036,036,036,036,036,036,036,036,036,036,036,036,036,036,036,036,036,036,036,808
detail-type
— 标识事件类型的字符串。source
— 标识事件源的字符串。客户生成的事件可具有任意值,前提是它不以“aws.”开头。建议使用 Java 包名样式反向域名字符串。