

# Endpoint de metadados de tarefas do Amazon ECS versão 2
<a name="task-metadata-endpoint-v2"></a>

**Importante**  
O endpoint da versão 2 dos metadados da tarefa não está mais sendo mantido ativamente. Recomendamos que você atualize o endpoint versão 4 de metadados da tarefa para obter as informações mais recentes do endpoint de metadados. Para obter mais informações, consulte [Endpoint de metadados de tarefas do Amazon ECS versão 4](task-metadata-endpoint-v4.md).

A partir da versão 1.17.0 do agente de contêiner do Amazon ECS, vários metadados de tarefas e [dados estatísticos do Docker](https://docs.docker.com/reference/api/engine/version/v1.30/#tag/Container/operation/ContainerStats) estão disponíveis para tarefas que usam o modo de rede `awsvpc` em um endpoint HTTP fornecido pelo agente de contêiner do Amazon ECS.

Todos os contêineres que pertencem a tarefas que são executadas no modo de rede `awsvpc` recebem um endereço IPv4 local dentro de um intervalo pré-definido de endereços locais de link. Quando um contêiner consulta o endpoint de metadados, o agente de contêiner do Amazon ECS pode determinar a qual tarefa o contêiner pertence com base no seu endereço IP exclusivo, e são retornados metadados e dados estatísticos dessa tarefa.

## Habilitar metadados de tarefas
<a name="task-metadata-endpoint-v2-enable"></a>

**Importante**  
O endpoint da versão 2 dos metadados da tarefa não está mais sendo mantido ativamente. Recomendamos que você atualize o endpoint versão 4 de metadados da tarefa para obter as informações mais recentes do endpoint de metadados. Para obter mais informações, consulte [Endpoint de metadados de tarefas do Amazon ECS versão 4](task-metadata-endpoint-v4.md).

A partir da versão 1.17.0 do agente de contêiner do Amazon ECS, vários metadados de tarefas e [dados estatísticos do Docker](https://docs.docker.com/reference/api/engine/version/v1.30/#tag/Container/operation/ContainerStats) estão disponíveis para tarefas que usam o modo de rede `awsvpc` em um endpoint HTTP fornecido pelo agente de contêiner do Amazon ECS.

Todos os contêineres que pertencem a tarefas que são executadas no modo de rede `awsvpc` recebem um endereço IPv4 local dentro de um intervalo pré-definido de endereços locais de link. Quando um contêiner consulta o endpoint de metadados, o agente de contêiner do Amazon ECS pode determinar a qual tarefa o contêiner pertence com base no seu endereço IP exclusivo, e são retornados metadados e dados estatísticos dessa tarefa.

### Habilitar metadados de tarefas
<a name="task-metadata-endpoint-v2-enable"></a>

O recurso dos metadados de tarefas versão 2 é ativado por padrão para o seguinte:
+ Tarefas usando o Fargate que utilizam a versão 1.1.0 ou posterior da plataforma. Para obter mais informações, consulte [Versões da plataforma do Fargate para o Amazon ECS](platform-fargate.md).
+ Tarefas que usam o EC2 que também usam o modo de rede `awsvpc` e são iniciadas na infraestrutura do Linux do Amazon EC2 executando pelo menos a versão 1.17.0 do agente de contêiner do Amazon ECS ou na infraestrutura do Windows do Amazon EC2 executando pelo menos a versão `1.54.0` do agente de contêiner do Amazon ECS. Para obter mais informações, consulte [Gerenciamento de instâncias de contêiner do Linux no Amazon ECS](manage-linux.md).

É possível adicionar suporte a esse recurso nas instâncias de contêiner mais antigas atualizando o agente para a versão mais recente. Para obter mais informações, consulte [Atualizar o agente de contêiner do Amazon ECS](ecs-agent-update.md).

### Caminhos do endpoint de metadados de tarefas
<a name="task-metadata-endpoint-v2-paths"></a>

Os seguintes endpoints de API estão disponíveis para os contêineres:

`169.254.170.2/v2/metadata`  
Esse endpoint retorna o JSON de metadados para a tarefa, incluindo uma lista dos nomes e IDs de todos os contêineres associados à tarefa. Para obter mais informações sobre a resposta para esse endpoint, consulte [Resposta do JSON de metadados de tarefas](#task-metadata-endpoint-v2-response).

`169.254.170.2/v2/metadata/<container-id>`  
Esse endpoint retorna o JSON de metadados para o ID de contêiner do Docker especificado.

`169.254.170.2/v2/metadata/taskWithTags`  
Esse caminho retorna os metadados para a tarefa incluída no endpoint `/task` além das etiquetas de tarefa e de instância de contêiner que podem ser recuperadas usando a API `ListTagsForResource`. 

`169.254.170.2/v2/stats`  
Esse endpoint retorna o JSON de estatísticas do Docker para todos os contêineres associados à tarefa. Para obter mais informações sobre cada uma das estatísticas retornadas, consulte [ContainerStats](https://docs.docker.com/reference/api/engine/version/v1.30/#tag/Container/operation/ContainerStats) na documentação da API do Docker. 

`169.254.170.2/v2/stats/<container-id>`  
Esse endpoint retorna o JSON de estatísticas do Docker para o ID de contêiner do Docker especificado. Para obter mais informações sobre cada uma das estatísticas retornadas, consulte [ContainerStats](https://docs.docker.com/reference/api/engine/version/v1.30/#tag/Container/operation/ContainerStats) na documentação da API do Docker. 

### Resposta do JSON de metadados de tarefas
<a name="task-metadata-endpoint-v2-response"></a>

As seguintes informações são retornadas da resposta em JSON (`169.254.170.2/v2/metadata`) do endpoint de metadados de tarefas.

`Cluster`  
O nome do recurso da Amazon (ARN) ou nome curto do cluster do Amazon ECS ao qual a tarefa pertence.

`TaskARN`  
O nome do recurso da Amazon (ARN) da tarefa à qual o contêiner pertence.

`Family`  
A família da definição de tarefa do Amazon ECS para a tarefa.

`Revision`  
A revisão da definição de tarefa do Amazon ECS para a tarefa.

`DesiredStatus`  
O status desejado para a tarefa do Amazon ECS.

`KnownStatus`  
O status conhecido para a tarefa do Amazon ECS.

`Limits`  
Os limites de recursos especificados no nível da tarefa, como CPU (expresso em vCPUs) e memória. Esse parâmetro será omitido se não houver nenhum limite de recurso definido.

`PullStartedAt`  
O timestamp de quando começou a primeira extração de imagem do contêiner.

`PullStoppedAt`  
O timestamp de quando a última extração de imagem do contêiner terminou.

`AvailabilityZone`  
A zona de disponibilidade em que a tarefa está.  
Os metadados da zona de disponibilidade estão disponíveis apenas para tarefas do Fargate que usam a versão 1.4 ou posterior (Linux) ou 1.0.0 ou posterior (Windows) da plataforma.

`Containers`  
Uma lista de metadados de contêiner para cada contêiner associado com a tarefa.    
`DockerId`  
O ID do Docker do contêiner.  
`Name`  
O nome do contêiner, conforme especificado na definição da tarefa.  
`DockerName`  
O nome do contêiner fornecido para o Docker. O agente de contêiner do Amazon ECS gera um nome exclusivo para o contêiner para evitar colisões de nomes quando várias cópias da mesma definição de tarefa são executadas em uma única instância.  
`Image`  
A imagem para o contêiner.  
`ImageID`  
O resumo SHA-256 do manifesto da imagem. Esse é o resumo que pode ser usado para extrair a imagem usando o formato `repository-url/image@sha256:digest`.  
`Ports`  
Todas as portas expostas para o contêiner. Esse parâmetro será omitido se não houver portas expostas.  
`Labels`  
Todos os rótulos aplicados ao contêiner. Esse parâmetro será omitido se não houver rótulos aplicados.  
`DesiredStatus`  
O status desejado para o contêiner do Amazon ECS.  
`KnownStatus`  
O status conhecido para o contêiner do Amazon ECS.  
`ExitCode`  
O código de saída para o contêiner. Esse parâmetro é omitido se o contêiner não foi encerrado.  
`Limits`  
Os limites de recursos especificados no nível do contêiner, como CPU (expresso em unidades de CPU) e memória. Esse parâmetro será omitido se não houver nenhum limite de recurso definido.  
`CreatedAt`  
O time stamp de quando o contêiner foi criado. Esse parâmetro será omitido se o contêiner ainda não tiver sido criado.  
`StartedAt`  
O time stamp de quando o contêiner foi iniciado. Esse parâmetro será omitido se o contêiner ainda não tiver sido iniciado.  
`FinishedAt`  
O time stamp de quando o contêiner foi interrompido. Esse parâmetro será omitido se o contêiner ainda não tiver sido interrompido.  
`Type`  
O tipo do contêiner. Os contêineres que são especificados em sua definição de tarefa são do tipo `NORMAL`. É possível ignorar outros tipos de contêineres, que são usados para o provisionamento de recursos de tarefas internas pelo agente de contêiner do Amazon ECS.  
`Networks`  
As informações de rede para o contêiner, como o modo de rede e o endereço IP. Esse parâmetro será omitido se não houver informações de rede definidas.

`ClockDrift`  
A informação sobre a diferença entre o tempo de referência e a hora do sistema. Isso se aplica ao sistema operacional Linux. Esse recurso usa o Serviço de Sincronização Temporal da Amazon para medir a precisão do relógio e fornecer o erro de relógio vinculado aos contêineres. Para obter mais informações, consulte [Definir a hora da instância do Linux](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/set-time.html) no *Guia do usuário do Amazon EC2 para instâncias do Linux*.    
`ReferenceTime`  
A base da precisão do relógio. O Amazon ECS usa o padrão global Coordinated Universal Time (UTC — Tempo universal coordenado) por meio do NTP, por exemplo, `2021-09-07T16:57:44Z`.  
`ClockErrorBound`  
A medida do erro do relógio, definida como o deslocamento para UTC. Esse erro é a diferença em milissegundos entre o tempo de referência e a hora do sistema.  
`ClockSynchronizationStatus`  
Indica se a tentativa de sincronização mais recente entre a hora do sistema e o horário de referência obteve êxito.  
Os valores válidos são `SYNCHRONIZED` e ` NOT_SYNCHRONIZED`.

`ExecutionStoppedAt`  
O time stamp de quando o `DesiredStatus` da tarefa mudou para `STOPPED`. Isso ocorre quando um contêiner essencial muda para `STOPPED`.

### Exemplo de resposta de metadados de tarefas
<a name="task-metadata-endpoint-v2-example-task-metadata-response"></a>

A seguinte resposta em JSON apresenta uma tarefa de contêiner único.

```
{
  "Cluster": "default",
  "TaskARN": "arn:aws:ecs:us-east-2:012345678910:task/9781c248-0edd-4cdb-9a93-f63cb662a5d3",
  "Family": "nginx",
  "Revision": "5",
  "DesiredStatus": "RUNNING",
  "KnownStatus": "RUNNING",
  "Containers": [
    {
      "DockerId": "731a0d6a3b4210e2448339bc7015aaa79bfe4fa256384f4102db86ef94cbbc4c",
      "Name": "~internal~ecs~pause",
      "DockerName": "ecs-nginx-5-internalecspause-acc699c0cbf2d6d11700",
      "Image": "amazon/amazon-ecs-pause:0.1.0",
      "ImageID": "",
      "Labels": {
        "com.amazonaws.ecs.cluster": "default",
        "com.amazonaws.ecs.container-name": "~internal~ecs~pause",
        "com.amazonaws.ecs.task-arn": "arn:aws:ecs:us-east-2:012345678910:task/9781c248-0edd-4cdb-9a93-f63cb662a5d3",
        "com.amazonaws.ecs.task-definition-family": "nginx",
        "com.amazonaws.ecs.task-definition-version": "5"
      },
      "DesiredStatus": "RESOURCES_PROVISIONED",
      "KnownStatus": "RESOURCES_PROVISIONED",
      "Limits": {
        "CPU": 0,
        "Memory": 0
      },
      "CreatedAt": "2018-02-01T20:55:08.366329616Z",
      "StartedAt": "2018-02-01T20:55:09.058354915Z",
      "Type": "CNI_PAUSE",
      "Networks": [
        {
          "NetworkMode": "awsvpc",
          "IPv4Addresses": [
            "10.0.2.106"
          ]
        }
      ]
    },
    {
      "DockerId": "43481a6ce4842eec8fe72fc28500c6b52edcc0917f105b83379f88cac1ff3946",
      "Name": "nginx-curl",
      "DockerName": "ecs-nginx-5-nginx-curl-ccccb9f49db0dfe0d901",
      "Image": "nrdlngr/nginx-curl",
      "ImageID": "sha256:2e00ae64383cfc865ba0a2ba37f61b50a120d2d9378559dcd458dc0de47bc165",
      "Labels": {
        "com.amazonaws.ecs.cluster": "default",
        "com.amazonaws.ecs.container-name": "nginx-curl",
        "com.amazonaws.ecs.task-arn": "arn:aws:ecs:us-east-2:012345678910:task/9781c248-0edd-4cdb-9a93-f63cb662a5d3",
        "com.amazonaws.ecs.task-definition-family": "nginx",
        "com.amazonaws.ecs.task-definition-version": "5"
      },
      "DesiredStatus": "RUNNING",
      "KnownStatus": "RUNNING",
      "Limits": {
        "CPU": 512,
        "Memory": 512
      },
      "CreatedAt": "2018-02-01T20:55:10.554941919Z",
      "StartedAt": "2018-02-01T20:55:11.064236631Z",
      "Type": "NORMAL",
      "Networks": [
        {
          "NetworkMode": "awsvpc",
          "IPv4Addresses": [
            "10.0.2.106"
          ]
        }
      ]
    }
  ],
  "PullStartedAt": "2018-02-01T20:55:09.372495529Z",
  "PullStoppedAt": "2018-02-01T20:55:10.552018345Z",
  "AvailabilityZone": "us-east-2b"
}
```