

# Formato do arquivo de metadados de contêiner do Amazon ECS
<a name="metadata-file-format"></a>

As informações a seguir são armazenadas no arquivo JSON dos metadados de contêiner.

`Cluster`  
O nome do cluster onde a tarefa do contêiner está sendo executada.

`ContainerInstanceARN`  
O nome de recurso da Amazon (ARN) da instância de contêiner do host.

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

`TaskDefinitionFamily`  
O nome da família de definições de tarefa que o contêiner está usando.

`TaskDefinitionRevision`  
A revisão de definição de tarefa que o contêiner está usando.

`ContainerID`  
O ID do contêiner do Docker (e não o ID do contêiner do Amazon ECS) para o contêiner.

`ContainerName`  
O nome do contêiner da definição de tarefa do Amazon ECS para o contêiner.

`DockerContainerName`  
O nome do contêiner que o daemon do Docker usa para o contêiner (por exemplo, o nome que aparece no resultado do comando **docker ps**).

`ImageID`  
O resumo SHA para a imagem do Docker usada para iniciar o contêiner.

`ImageName`  
O nome da imagem e a tag para a imagem do Docker usada para iniciar o contêiner.

`PortMappings`  
Todos os mapeamentos de porta associados ao contêiner.    
`ContainerPort`  
A porta no contêiner que é exposto.  
`HostPort`  
A porta na instância de contêiner do host que é exposto.  
`BindIp`  
O endereço IP associado atribuído ao contêiner pelo Docker. Esse endereço IP só é aplicado com o modo de rede `bridge` e só pode ser acessado pela instância de contêiner.  
`Protocol`  
O protocolo de rede usado para o mapeamento da porta.

`Networks`  
O modo de rede e o endereço IP do contêiner.    
`NetworkMode`  
O modo de rede da tarefa à qual o contêiner pertence.  
`IPv4Addresses`  
Os endereços IP associados ao contêiner.  
Se a sua tarefa estiver usando o modo de rede `awsvpc`, o endereço IP do contêiner não será retornado. Nesse caso, você pode recuperar o endereço IP lendo o arquivo /etc/hosts com o seguinte comando:  

```
tail -1 /etc/hosts | awk '{print $1}'
```

`MetadataFileStatus`  
O status do arquivo de metadados. Quando o status for `READY`, o arquivo de metadados estará atualizado e concluído. Se o arquivo ainda não estiver pronto (por exemplo, no momento em que a tarefa é iniciada), uma versão truncada do formato de arquivo estará disponível. Para evitar uma provável condição de corrida na qual o contêiner foi iniciado, mas os metadados ainda não foram criados, você pode analisar o arquivo de metadados e aguardar até que esse parâmetro seja definido como `READY` antes, dependendo dos metadados. Isso geralmente fica disponível menos de 1 segundo depois que o contêiner é iniciado.

`AvailabilityZone`  
A zona de disponibilidade na qual a instância de contêiner do host reside.

`HostPrivateIPv4Address`  
O endereço IP privado da tarefa à qual o contêiner pertence.

`HostPublicIPv4Address`  
O endereço IP público da tarefa à qual o contêiner pertence.

**Example Arquivo de metadados do contêiner do Amazon ECS (`READY`)**  
O exemplo a seguir mostra um arquivo de metadados do contêiner com status `READY`.  

```
{
    "Cluster":"arn:aws:ecs:us-east-1:123456789012:cluster/MyCluster",
    "TaskARN":"arn:aws:ecs:us-east-1:123456789012:task/MyCluster/b593651c4d6b44a6b2b583f45c957e15",
    "Family":"curltest-container",
    "Revision":"2",
    "DesiredStatus":"RUNNING",
    "KnownStatus":"RUNNING",
    "Limits":
        {
            "CPU":0.25,
            "Memory":512
        },
    "PullStartedAt":"2025-01-17T20:56:17.394610044Z",
    "PullStoppedAt":"2025-01-17T20:56:25.282708213Z",
    "AvailabilityZone":"us-east-1b",
    "LaunchType":"FARGATE",
    "Containers":[
        {
            "DockerId":"b593651c4d6b44a6b2b583f45c957e15-3356213583",
            "Name":"curltest","DockerName":"curltest",
            "Image":"public.ecr.aws/amazonlinux/amazonlinux:latest",
            "ImageID":"sha256:7f371357694782356b65c7fd60dd1ca124c47bd5ed1b1ffe7c0e17f562898367",
            "Labels":
                {
                    "com.amazonaws.ecs.cluster":"arn:aws:ecs:us-east-1:123456789012:cluster/MyCluster",
                    "com.amazonaws.ecs.container-name":"curltest",
                    "com.amazonaws.ecs.task-arn":"arn:aws:ecs:us-east-1:123456789012:task/MyCluster/b593651c4d6b44a6b2b583f45c957e15",
                    "com.amazonaws.ecs.task-definition-family":"curltest-container","com.amazonaws.ecs.task-definition-version":"2"
               },
            "DesiredStatus":"RUNNING",
            "KnownStatus":"RUNNING",
            "Limits":
                {
                    "CPU":2
                },
            "CreatedAt":"2025-01-17T20:56:26.180347056Z",
            "StartedAt":"2025-01-17T20:56:26.180347056Z",
            "Type":"NORMAL",
            "LogDriver":"awslogs",
            "LogOptions":
                {
                    "awslogs-create-group":"true",
                    "awslogs-group":"/ecs/curltest-container",
                    "awslogs-region":"us-east-1",
                    "awslogs-stream":"ecs/curltest/b593651c4d6b44a6b2b583f45c957e15"
                       },
            "ContainerARN":"arn:aws:ecs:us-east-1:123456789012:container/MyCluster/b593651c4d6b44a6b2b583f45c957e15/934575e8-5bdb-478f-b763-2341a85b690e",
            "Networks":[
                {
                    "NetworkMode":"awsvpc",
                    "IPv4Addresses":["10.0.1.58"]
                }
            ],
            "Snapshotter":"overlayfs"
        }
    ],
    "ClockDrift":
        {
            "ClockErrorBound":0.487801,"ReferenceTimestamp":"2025-01-17T20:56:02Z",
            "ClockSynchronizationStatus":"SYNCHRONIZED"
        },
    "FaultInjectionEnabled":false
}
```

**Example Arquivo incompleto de metadados do contêiner do Amazon ECS (ainda não `READY`)**  
O exemplo a seguir mostra um arquivo de metadados de contêiner que ainda não atingiu o status `READY`. As informações no arquivo são limitadas a alguns parâmetros conhecidos da definição de tarefa. O arquivo de metadados do contêiner deve estar pronto em até 1 segundo após o contêiner ser iniciado.  

```
{
    "Cluster": "default",
    "ContainerInstanceARN": "arn:aws:ecs:us-west-2:012345678910:container-instance/default/1f73d099-b914-411c-a9ff-81633b7741dd",
    "TaskARN": "arn:aws:ecs:us-west-2:012345678910:task/default/d90675f8-1a98-444b-805b-3d9cabb6fcd4",
    "ContainerName": "metadata"
}
```