使用实现自动 AWS Proton 化 EventBridge - AWS Proton

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

使用实现自动 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 资源,下表列出了详细信息类型值、详细信息字段以及(如果可用)statuspreviousStatus详细信息字段值列表的引用。在删除资源时,status 详细信息字段值为 DELETED

资源 详细信息类型值 详细信息字段

EnvironmentTemplate

AWS Proton 环境模板状态更改

name

status

previousStatus

EnvironmentTemplateVersion

AWS Proton 环境模板版本状态更改

name

majorVersion

minorVersion

status

previousStatus

状态值

ServiceTemplate

AWS Proton 服务模板状态更改

name

status

previousStatus

ServiceTemplateVersion

AWS Proton 服务模板版本状态更改

name

majorVersion

minorVersion

status

previousStatus

状态值

Environment

AWS Proton 环境状态更改

name

status

previousStatus

Service

AWS Proton 服务状态变更

name

status

previousStatus

状态值

ServiceInstance

AWS Proton 服务实例状态更改

name

serviceName

status

previousStatus

ServicePipeline

AWS Proton 服务管道状态变更

serviceName

status

previousStatus

EnvironmentAccountConnection

AWS Proton 环境帐户连接状态更改

id

status

previousStatus

状态值

Component

AWS Proton 组件状态更改

name

status

previousStatus

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" } }