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 对象中具有相同版本。如果您正在复制 Amazon ECS 容器实例和任务状态 EventBridge,则可以将 Amazon ECS API 报告的资源版本与该资源(在detail对象内)报告的版本 EventBridge 进行比较,以验证事件流中的版本是否为最新版本。

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

有关如何集成 Amazon ECS 和的更多信息 EventBridge,请参阅集成亚马逊 EventBridge 和亚马逊 ECS