Amazon ECS Events - Amazon Elastic Container Service
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

Amazon ECS Events

Amazon ECS 跟踪每个任务和服务的状态。如果任务或服务的状态发生更改,则会生成事件并将其发送到 Amazon EventBridge。这些事件归类为任务状态更改事件和服务操作事件。以下部分中更详细地介绍了这些事件及可能原因。

Amazon ECS 生成并将以下类型的事件发送到 EventBridge:容器实例状态更改事件、任务状态更改事件、服务操作和服务部署状态更改事件。

  • 容器实例状态更改事件

  • 任务状态更改

  • 部署状态更改

  • 服务操作

注意

Amazon ECS 将来可能会增加其他事件类型、源和详细信息。如果您以代码方式对事件 JSON 数据反序列化,请确保应用程序已准备好处理未知属性,以避免在增加这些附加属性时出现问题。

在某些情况下,将为同一活动生成多个事件。例如,在容器实例上启动任务时,将为新任务生成任务状态更改事件。生成容器实例状态更改事件以说明容器实例上的可用资源(例如 CPU、内存和可用端口)的更改。同样,如果终止容器实例,将为容器实例、容器代理连接状态以及在容器实例上运行的每个任务生成事件。

容器状态更改和任务状态更改事件包含两个 version 字段:一个字段在事件的主体中,一个字段在事件的 detail 对象中。下面介绍了这两个字段之间的差异:

  • 对于所有事件,事件主体中的 version 字段设为 0。有关 EventBridge 参数更多信息,请参阅 Amazon EventBridge 用户指南事件和事件模式

  • 事件的 detail 对象中的 version 字段描述了关联资源的版本。当资源状态发生更改时,此版本会递增。由于可多次发送事件,因此您可以使用该字段来确定重复事件。重复事件在 detail 对象中具有相同版本。如果您用 EventBridge 复制 Amazon ECS 容器实例和任务状态,则可比较 Amazon ECS API 所报告的资源版本与资源的 EventBridge 事件中报告的版本(在 detail 对象中),以便验证事件流中的版本是否为最新版本。

服务操作事件仅包含主体中的 version 字段。

有关如何集成 Amazon ECS 和 EventBridge 的更多信息,请参阅 Integrating Amazon EventBridge and Amazon ECS(集成 Amazon EventBridge 和 Amazon ECS)。