

# Amazon ECS 服务部署状态更改事件
<a name="ecs_service_deployment_events"></a>

Amazon ECS 发送详细信息类型为 **ECS部署状态更改**的服务部署更改状态事件。以下是用于为 Amazon ECS 任务状态更改事件创建 EventBridge 规则的事件模式。有关创建 EventBridge 规则的更多信息，请参阅《Amazon EventBridge 用户指南》**中的 [Amazon EventBridge 入门](https://docs.amazonaws.cn/eventbridge/latest/userguide/eb-get-started.html)。

```
{
    "source": [
        "aws.ecs"
    ],
    "detail-type": [
        "ECS Deployment State Change"
    ]
}
```

Amazon ECS 发送具有`INFO` 和 `ERROR` 事件类型的事件。有关更多信息，请参阅 [Amazon ECS 服务操作事件](ecs_service_events.md)。

下列是服务部署状态更改的事件：

`SERVICE_DEPLOYMENT_IN_PROGRESS`  
正在进行服务部署。此事件同时针对初始部署和回滚部署发送。

`SERVICE_DEPLOYMENT_COMPLETED`  
服务部署已完成。一旦服务在部署后达到稳定状态，就会发送此事件。

`SERVICE_DEPLOYMENT_FAILED`  
服务部署失败。将针对启用了部署断路器逻辑的服务发送此事件。

**Example 正在进行的服务部署事件**  
初始部署和回滚部署启动时，将传递服务部署进行中的事件。两者之间的差异在 `reason` 字段中。有关 EventBridge 参数的更多信息，请参阅《Amazon EventBridge 用户指南》**中的 [Amazon service event metadata](https://docs.amazonaws.cn/eventbridge/latest/userguide/eb-events-structure.html)。  
以下显示了初始部署开始的示例输出。  

```
{
   "version": "0",
   "id": "ddca6449-b258-46c0-8653-e0e3a6EXAMPLE",
   "detail-type": "ECS Deployment State Change",
   "source": "aws.ecs",
   "account": "111122223333",
   "time": "2020-05-23T12:31:14Z",
   "region": "us-west-2",
   "resources": [ 
        "arn:aws:ecs:us-west-2:111122223333:service/default/servicetest"
   ],
   "detail": {
        "eventType": "INFO", 
        "eventName": "SERVICE_DEPLOYMENT_IN_PROGRESS",
        "deploymentId": "ecs-svc/{{123}}",
        "updatedAt": "2020-05-23T11:11:11Z",
        "reason": "ECS deployment {{deploymentId}} in progress."
   }
}
```
下面显示了开始回滚部署的示例输出。`reason` 字段提供服务正在回滚到部署的 ID。  

```
{
   "version": "0",
   "id": "ddca6449-b258-46c0-8653-e0e3aEXAMPLE",
   "detail-type": "ECS Deployment State Change",
   "source": "aws.ecs",
   "account": "111122223333",
   "time": "2020-05-23T12:31:14Z",
   "region": "us-west-2",
   "resources": [ 
        "arn:aws:ecs:us-west-2:111122223333:service/default/servicetest"
   ],
   "detail": {
        "eventType": "INFO", 
        "eventName": "SERVICE_DEPLOYMENT_IN_PROGRESS",
        "deploymentId": "ecs-svc/123",
        "updatedAt": "2020-05-23T11:11:11Z",
        "reason": "ECS deployment circuit breaker: rolling back to deploymentId {{deploymentID}}."
   }
}
```

**Example 服务部署已完成事件**  
服务部署完成状态事件以下面的形式传送。有关更多信息，请参阅 [通过替换任务来部署 Amazon ECS 服务](deployment-type-ecs.md)。  

```
{
   "version": "0",
   "id": "ddca6449-b258-46c0-8653-e0e3aEXAMPLE",
   "detail-type": "ECS Deployment State Change",
   "source": "aws.ecs",
   "account": "111122223333",
   "time": "2020-05-23T12:31:14Z",
   "region": "us-west-2",
   "resources": [ 
        "arn:aws:ecs:us-west-2:111122223333:service/default/servicetest"
   ],
   "detail": {
        "eventType": "INFO", 
        "eventName": "SERVICE_DEPLOYMENT_COMPLETED",
        "deploymentId": "ecs-svc/123",
        "updatedAt": "2020-05-23T11:11:11Z",
        "reason": "ECS deployment {{deploymentID}} completed."
   }
}
```

**Example 服务部署失败事件**  
服务部署失败状态事件以下面的形式传送。将仅针对启用了部署断路器逻辑的服务发送服务部署失败状态事件。有关更多信息，请参阅 [通过替换任务来部署 Amazon ECS 服务](deployment-type-ecs.md)。  

```
{
   "version": "0",
   "id": "ddca6449-b258-46c0-8653-e0e3aEXAMPLE",
   "detail-type": "ECS Deployment State Change",
   "source": "aws.ecs",
   "account": "111122223333",
   "time": "2020-05-23T12:31:14Z",
   "region": "us-west-2",
   "resources": [ 
        "arn:aws:ecs:us-west-2:111122223333:service/default/servicetest"
   ],
   "detail": {
        "eventType": "ERROR", 
        "eventName": "SERVICE_DEPLOYMENT_FAILED",
        "deploymentId": "ecs-svc/123",
        "updatedAt": "2020-05-23T11:11:11Z",
        "reason": "ECS deployment circuit breaker: task failed to start."
   }
}
```