本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
使用实现自动 AWS Proton 化 EventBridge
您可以在 Amazon 上监控 AWS Proton 事件 EventBridge。 EventBridge 提供来自您自己的应用程序、 software-as-a-service (SaaS) 应用程序和的实时数据流 AWS 服务。您可以配置事件以响应 AWS 资源状态的变化。 EventBridge 然后将这些数据路由到目标服务,例如 AWS Lambda 和 Amazon 简单通知服务。这些事件与 Amazon CloudWatch 活动中显示的事件相同。 CloudWatch Events 提供近乎实时的系统事件流,这些事件描述了 AWS 资源的变化。有关更多信息,请参阅什么是亚马逊 EventBridge? 在《亚马逊 EventBridge 用户指南》中。
用于 EventBridge 接收 AWS Proton 配置工作流程中状态变化的通知。
事件类型
事件由包含事件模式和目标的规则组成。您可以选择事件模式和目标对象以配置规则:
- 事件模式
-
每个规则表示为一个事件模式,其中包含要监控的事件源和类型以及事件目标。要监控事件,您可以创建一个规则,并将您监控的服务作为事件源。例如,您可以创建一个具有事件模式的规则,该规则将 AWS Proton 作为事件源,以在部署状态发生变化时触发规则。
- 目标
-
该规则将选定的服务作为事件目标。您可以设置目标服务以发送通知,捕获状态信息,采取纠正措施,启动事件或采取其他措施。
事件对象包含 ID、帐户、详细信息类型 AWS 区域、来源、版本、资源、时间(可选)等标准字段。详细信息字段是一个嵌套对象,其中包含事件的自定义字段。
AWS Proton 事件是在尽力而为的基础上发出的。尽力交付意味着服务会尝试将所有事件发送到 EventBridge,但在极少数情况下,事件可能无法传送。
对于每种可以发出事件的 AWS Proton 资源,下表列出了详细信息类型值、详细信息字段以及(如果可用)status
和previousStatus
详细信息字段值列表的引用。在删除资源时,status
详细信息字段值为 DELETED
。
资源 | 详细信息类型值 | 详细信息字段 |
---|---|---|
|
AWS Proton 环境模板状态更改 |
|
|
AWS Proton 环境模板版本状态更改 |
|
|
AWS Proton 服务模板状态更改 |
|
|
AWS Proton 服务模板版本状态更改 |
|
|
AWS Proton 环境状态更改 |
|
|
AWS Proton 服务状态变更 |
|
|
AWS Proton 服务实例状态更改 |
|
|
AWS Proton 服务管道状态变更 |
|
|
AWS Proton 环境帐户连接状态更改 |
|
|
AWS Proton 组件状态更改 |
|
AWS Proton 事件示例
以下示例显示了 AWS Proton 可以向发送事件的方式 EventBridge。
服务模板
{ "source": "aws.proton", "detail-type": ["AWS Proton Service Template Status Change"], "time": "2021-03-22T23:21:40.734Z", "resources": ["arn:aws:proton:region_id:123456789012:service-template/sample-service-template-name"], "detail": { "name": "sample-service-template-name", "status": "PUBLISHED", "previousStatus": "DRAFT" } }
服务模板版本
{ "source": "aws.proton", "detail-type": ["AWS Proton Service Template Version Status Change"], "time": "2021-03-22T23:21:40.734Z", "resources": ["arn:aws:proton:region_id:123456789012:service-template/sample-service-template-name:1.0"], "detail": { "name": "sample-service-template-name", "majorVersion": "1", "minorVersion": "0", "status": "REGISTRATION_FAILED", "previousStatus": "REGISTRATION_IN_PROGRESS" } }
环境
{ "source": "aws.proton", "detail-type": ["AWS Proton Environment Status Change"], "time": "2021-03-22T23:21:40.734Z", "resources": ["arn:aws:proton:region_id:123456789012:environment/sample-environment"], "detail": { "name": "sample-environment", "status": "DELETE_FAILED", "previousStatus": "DELETE_IN_PROGRESS" } }