Amazon ECS
AWS Fargate 用户指南 (API 版本 2014-11-13)
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

Amazon ECS 事件

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

注意

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

事件包含两个 version 字段;一个字段在事件的主体中,一个字段在事件的 detail 对象中。

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

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

任务状态更改事件

以下方案将触发任务状态更改事件:

您调用 StartTaskRunTaskStopTask API 操作(直接调用,或者通过 AWS 管理控制台、AWS CLI 或开发工具包调用)。

启动或停止任务将创建新的任务资源或修改现有任务资源的状态。

Amazon ECS 服务计划程序启动或停止任务。

启动或停止任务将创建新的任务资源或修改现有任务资源的状态。

Amazon ECS 容器代理调用 SubmitTaskStateChange API 操作。

Amazon ECS 容器代理监控任务的状态并报告任何状态更改(例如,从 PENDING 更改为 RUNNING,或者从 RUNNING 更改为 STOPPED)。

任务中的容器状态发生更改。

Amazon ECS 容器代理监控任务中的容器状态。例如,如果在任务中运行的容器停止,则此容器状态更改将触发事件。

例 任务状态更改事件

任务状态更改事件以下面的格式传送(下面的 detail 部分类似于从 Amazon Elastic Container Service API Reference 中的 DescribeTasks API 操作返回的 Task 对象)。有关 CloudWatch Events 参数的更多信息,请参阅 Amazon CloudWatch Events 用户指南 中的事件和事件模式

{ "version": "0", "id": "9bcdac79-b31f-4d3d-9410-fbd727c29fab", "detail-type": "ECS Task State Change", "source": "aws.ecs", "account": "111122223333", "time": "2016-12-06T16:41:06Z", "region": "us-east-1", "resources": [ "arn:aws:ecs:us-east-1:111122223333:task/b99d40b3-5176-4f71-9a52-9dbd6f1cebef" ], "detail": { "clusterArn": "arn:aws:ecs:us-east-1:111122223333:cluster/default", "containerInstanceArn": "arn:aws:ecs:us-east-1:111122223333:container-instance/b54a2a04-046f-4331-9d74-3f6d7f6ca315", "containers": [ { "containerArn": "arn:aws:ecs:us-east-1:111122223333:container/3305bea1-bd16-4217-803d-3e0482170a17", "exitCode": 0, "lastStatus": "STOPPED", "name": "xray", "taskArn": "arn:aws:ecs:us-east-1:111122223333:task/b99d40b3-5176-4f71-9a52-9dbd6f1cebef" } ], "createdAt": "2016-12-06T16:41:05.702Z", "desiredStatus": "RUNNING", "group": "task-group", "lastStatus": "RUNNING", "overrides": { "containerOverrides": [ { "name": "xray" } ] }, "startedAt": "2016-12-06T16:41:06.8Z", "startedBy": "ecs-svc/9223370556150183303", "updatedAt": "2016-12-06T16:41:06.975Z", "taskArn": "arn:aws:ecs:us-east-1:111122223333:task/b99d40b3-5176-4f71-9a52-9dbd6f1cebef", "taskDefinitionArn": "arn:aws:ecs:us-east-1:111122223333:task-definition/xray:2", "version": 4 } }

本页内容: