

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# Fargate 上任務的 Amazon ECS 任務中繼資料端點第 3 版
<a name="task-metadata-endpoint-v3-fargate"></a>

**重要**  
不再積極維護任務中繼資料第 3 版端點。建議您更新任務中繼資料第 4 版端點，以取得最新的中繼資料端點資訊。如需詳細資訊，請參閱[Fargate 上任務的 Amazon ECS 任務中繼資料端點第 4 版](task-metadata-endpoint-v4-fargate.md)。

從 Fargate 平台版本 `1.1.0` 開始，名為 `ECS_CONTAINER_METADATA_URI` 的環境變數會插入任務中的每個容器。當您查詢任務中繼資料第 3 版端點時，有各種任務中繼資料和 [Docker 統計資訊](https://docs.docker.com/engine/api/v1.30/#operation/ContainerStats)可供任務使用。

對於託管於 Fargate 的 Amazon ECS 任務 (使用平台版本 `1.1.0` 或更新版本)，預設會啟用任務中繼資料端點功能。如需詳細資訊，請參閱[適用於 Amazon ECS 的 Fargate 平台版本](platform-fargate.md)。

## Fargate 上任務的任務中繼資料端點路徑
<a name="task-metadata-endpoint-fargate-paths"></a>

容器可使用下列 API 端點：

`${ECS_CONTAINER_METADATA_URI}`  
此路徑傳回容器的 JSON 中繼資料。

`${ECS_CONTAINER_METADATA_URI}/task`  
此路徑傳回任務的中繼資料 JSON，包括與任務相關聯之所有容器的容器 ID 和名稱清單。如需此端點之回應的詳細資訊，請參閱「[Fargate 上任務的 Amazon ECS 中繼資料第 3 版 JSON 回應](task-metadata-endpoint-v3-fargate-response.md)」。

`${ECS_CONTAINER_METADATA_URI}/stats`  
此路徑傳回特定 Docker 容器的 Docker 統計資訊 JSON。如需每個所傳回統計資訊的詳細資訊，請參閱 Docker API 文件中的 [ContainerStats](https://docs.docker.com/engine/api/v1.30/#operation/ContainerStats)。

`${ECS_CONTAINER_METADATA_URI}/task/stats`  
此路徑傳回與任務相關聯之所有容器的 Docker 統計資訊 JSON。如需每個所傳回統計資訊的詳細資訊，請參閱 Docker API 文件中的 [ContainerStats](https://docs.docker.com/engine/api/v1.30/#operation/ContainerStats)。

# Fargate 上任務的 Amazon ECS 中繼資料第 3 版 JSON 回應
<a name="task-metadata-endpoint-v3-fargate-response"></a>

任務中繼資料端點 (`${ECS_CONTAINER_METADATA_URI}/task`) JSON 回應會傳回下列資訊。

`Cluster`  
任務所屬 Amazon ECS 叢集的 Amazon Resource Name (ARN) 或簡短名稱。

`TaskARN`  
容器所屬任務的 Amazon Resource Name (ARN)。

`Family`  
任務的 Amazon ECS 任務定義系列。

`Revision`  
任務的 Amazon ECS 任務定義修訂。

`DesiredStatus`  
Amazon ECS 中任務的所需狀態。

`KnownStatus`  
Amazon ECS 中任務的已知狀態。

`Limits`  
在任務層級指定的資源限制，例如 CPU (以 vCPU 表示) 和記憶體。如果未定義資源限制，則會省略此參數。

`PullStartedAt`  
第一個容器映像提取的開始時間戳記。

`PullStoppedAt`  
最後一個容器映像提取的完成時間戳記。

`AvailabilityZone`  
任務所在的可用區域。  
可用區域中繼資料僅適用於使用平台第 1.4 版或更新版本 (Linux) 或 1.0.0 或更新版本 (Windows) 的 Fargate 任務。

`Containers`  
與任務相關聯之每個容器的容器中繼資料清單。    
`DockerId`  
容器的 Docker ID。  
`Name`  
任務定義中指定的容器名稱。  
`DockerName`  
提供給 Docker 的容器名稱。Amazon ECS 容器代理程式會產生容器的唯一名稱，以避免在單一執行個體上執行相同任務定義的多個複本時，發生名稱衝突。  
`Image`  
容器的映像。  
`ImageID`  
映像資訊清單的 SHA-256 摘要。此摘要可用於以 `repository-url/image@sha256:digest` 格式提取映像。  
`Ports`  
向容器開放的任何連接埠。如果未開放連接埠，則會省略此參數。  
`Labels`  
任何套用至容器的標籤。如果未套用標籤，則會省略此參數。  
`DesiredStatus`  
Amazon ECS 中容器的所需狀態。  
`KnownStatus`  
Amazon ECS 中容器的已知狀態。  
`ExitCode`  
容器的結束代碼。如果容器尚未結束，則會省略此參數。  
`Limits`  
在容器層級指定的資源限制，例如 CPU (以 CPU 單位表示) 和記憶體。如果未定義資源限制，則會省略此參數。  
`CreatedAt`  
容器的建立時間戳記。如果尚未建立容器，則會省略此參數。  
`StartedAt`  
容器的啟動時間戳記。如果尚未啟動容器，則會省略此參數。  
`FinishedAt`  
容器的停止時間戳記。如果尚未停止容器，則會省略此參數。  
`Type`  
容器的類型。任務定義中指定的容器類型為 `NORMAL`。您可以忽略其他容器類型，這些是 Amazon ECS 容器代理程式用來佈建內部任務資源的容器類型。  
`Networks`  
容器的網路資訊，例如網路模式和 IP 地址。如果未定義網路資訊，則會省略此參數。

`ClockDrift`  
關於參考時間和系統時間之間差異的資訊。這適用於 Linux 作業系統。此功能使用 Amazon Time Sync Service 來衡量時鐘準確性，並提供容器的時鐘錯誤界限。如需詳細資訊，請參閱 *Amazon EC2 User Guide for Linux instances* 中的 [Set the time for your Linux instance](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/set-time.html)。    
`ReferenceTime`  
時鐘精確度的基礎。Amazon ECS 透過 NTP 使用世界協調時間 (UTC) 的全球標準，例如 `2021-09-07T16:57:44Z`。  
`ClockErrorBound`  
時鐘誤差的測量值，定義為 UTC 的偏移。此誤差是參考時間和系統時間之間的毫秒差異。  
`ClockSynchronizationStatus`  
指出系統時間和參考時間之間最近的同步嘗試是否成功。  
有效值為 `SYNCHRONIZED` 和 ` NOT_SYNCHRONIZED`。

`ExecutionStoppedAt`  
任務 `DesiredStatus` 移至 `STOPPED` 時的時間戳記。這會在基本容器移至 `STOPPED` 時發生。

# Fargate 上任務的 Amazon ECS 任務中繼資料第 3 版範例
<a name="task-metadata-endpoint-fargate-example-task-metadata-response"></a>

下列為單一容器任務的 JSON 回應。

```
{
  "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"
}
```