

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

# CloudWatch Logs 中的日誌格式
<a name="sal-cw-log-format"></a>

當 Amazon S3 伺服器存取日誌交付至 Amazon CloudWatch Logs 時，每個日誌記錄都是結構化 JSON 物件。這與用於交付至 Amazon S3 一般用途儲存貯體的空間分隔文字格式不同。結構化格式可讓欄位在 CloudWatch Logs Insights 中直接查詢，無需 regex 剖析。

**注意**  
如需用於一般用途儲存貯體交付的空格分隔文字格式，請參閱 [Amazon S3 伺服器存取日誌格式](LogFormat.md)。

## 日誌記錄欄位
<a name="sal-cw-log-record-fields"></a>

下表說明傳送至 CloudWatch Logs 的每個伺服器存取日誌記錄中的欄位。


**CloudWatch Logs 中的伺服器存取日誌欄位**  

| 欄位 | Type | Description | 
| --- | --- | --- | 
| schema\_version\_id | string | 日誌記錄結構描述的版本識別符 （例如 V\_1\_0)。使用此欄位可偵測未來版本中新增欄位時的結構描述變更。 | 
| bucket\_arn | string | 來源儲存貯體的 ARN。 | 
| bucket\_name | string | 提出請求的儲存貯體名稱。衍生自儲存貯體 ARN。 | 
| request\_time | string | 收到請求的時間，以 UTC 為單位。格式化為 ISO 8601 (yyyy-MM-dd'T'HH:mm:ss.SSS'Z')。在 S3 Tables 整合 (Iceberg) 中，此欄位會儲存為 timestamptz。 | 
| bucket\_owner\_id | string | 來源儲存貯體擁有者的正式使用者 ID。 | 
| remote\_ip | string | 請求者的視在 IP 地址。null 如果無法使用，預設為 。 | 
| requester | string | 請求者的正式使用者 ID，或未驗證請求null的正式使用者 ID。對於 IAM 使用者和角色，這是 ARN。 | 
| request\_id | string | Amazon S3 為每個請求產生的唯一識別符。null 如果無法使用，預設為 。 | 
| operation | string | 已執行的操作，例如 REST.GET.OBJECT或 REST.PUT.OBJECT。null 如果無法使用，預設為 。 | 
| key\_name | string | 請求中的物件金鑰，或null操作不涉及物件。 | 
| request\_uri | string | HTTP 請求訊息Request-URI的一部分，如果無法使用null，則為 。 | 
| http\_status | int | 回應的數值 HTTP 狀態碼，例如 200或 403。null 如果無法使用，預設為 。 | 
| error\_code | string | Amazon S3 錯誤代碼，例如 NoSuchKey或 AccessDenied，null或未發生錯誤。 | 
| bytes\_sent\_size | long | 傳送的回應位元組數，不包括 HTTP 通訊協定額外負荷。null 如果無法使用，預設為 。 | 
| object\_size | long | 物件的總大小。null 如果無法使用，預設為 。 | 
| total\_duration | long | 從收到請求到傳送的回應最後一個位元組的請求總時間，以毫秒為單位。null 如果無法使用，預設為 。 | 
| turn\_around\_duration | long | Amazon S3 處理請求所花費的時間，以毫秒為單位。此值是從收到請求的最後一個位元組開始測量，直到傳送回應的第一個位元組為止。null 如果無法使用，預設為 。 | 
| referer | string | HTTP Referer標頭的值，如果不存在null，則為 。 | 
| user\_agent | string | HTTP User-Agent標頭的值。null 如果無法使用，則預設為 。 | 
| version\_id | string | 請求中的版本 ID，或null操作不涉及版本控制的物件。 | 
| host\_id | string | Amazon S3 延伸請求 ID (x-amz-id-2)。null 如果無法使用，則預設為 。 | 
| signature\_version | string | 用來驗證請求的簽章版本： SigV2或 SigV4。對於未驗證的請求null，預設為 。 | 
| cipher\_suite | string | 針對 HTTPS 請求或 HTTP 交涉null的 TLS 密碼套件。 | 
| authentication\_type | string | 請求身分驗證的類型：QueryString、 AuthHeader或 null。 | 
| host\_header | string | 用來連線至 Amazon S3 的端點。null 如果無法使用，預設為 。 | 
| tls\_version | string | 用戶端交涉的 TLS 版本：TLSv1.1、TLSv1.3、 TLSv1.2或 null。 | 
| access\_point\_arn | string | 用於請求的存取點 ARN，或null請求未使用存取點。 | 
| acl\_required | boolean | 請求是否需要 ACL。不適用null時預設為 。 | 
| source\_region | string | AWS 區域 請求的來源，或無法判斷null來源區域的來源。範例包括 PrivateLink 連線、Direct Connect 連線、使用您自己的 IP 地址 (BYOIP)、非AWS IP 地址，以及生命週期和檢查總和等政策型動作所產生的日誌。 | 

## 日誌記錄範例
<a name="sal-cw-sample-record"></a>

以下是伺服器存取日誌記錄的範例，如 CloudWatch Logs 所示。

```
{
  "schema_version_id": "V_1_0",
  "bucket_arn": "arn:aws:s3:::my-data-bucket",
  "bucket_name": "my-data-bucket",
  "request_time": "2026-04-29T14:32:16.000Z",
  "bucket_owner_id": "79a59df900b949e55d96a1e698fbacedfd6e09d98eacf8f8d5218e7cd47ef2be",
  "remote_ip": "203.0.113.45",
  "requester": "arn:aws:iam::123456789012:role/DataAnalystRole",
  "request_id": "3E57427F33A59F07",
  "operation": "REST.GET.OBJECT",
  "key_name": "reports/2026/quarterly-summary.parquet",
  "request_uri": "GET /my-data-bucket/reports/2026/quarterly-summary.parquet HTTP/1.1",
  "http_status": 200,
  "error_code": null,
  "bytes_sent_size": 1048576,
  "object_size": 1048576,
  "total_duration": 45,
  "turn_around_duration": 12,
  "referer": null,
  "user_agent": "aws-sdk-java/2.20.0",
  "version_id": null,
  "host_id": "s9lzHYrFp76ZVxRcpX9+5cjAnEH2ROuNkd2BHfIa6UkFVdtjf5mKR3/eTPFvsiP/XV/VLi31234=",
  "signature_version": "SigV4",
  "cipher_suite": "TLS_AES_128_GCM_SHA256",
  "authentication_type": "AuthHeader",
  "host_header": "my-data-bucket.s3.us-east-1.amazonaws.com",
  "tls_version": "TLSv1.3",
  "access_point_arn": null,
  "acl_required": false,
  "source_region": "us-east-1"
}
```

## 與一般用途儲存貯體日誌格式的差異
<a name="sal-cw-format-differences"></a>

CloudWatch Logs 日誌格式與一般用途儲存貯體日誌格式不同之處如下：
+ **格式** – CloudWatch Logs 日誌是結構化 JSON 物件。一般用途儲存貯體日誌是以空格分隔的文字。
+ **欄位名稱** – CloudWatch Logs 格式使用描述性底線分隔欄位名稱 （例如 `bytes_sent_size`、`total_duration`、`key_name`、)`authentication_type`。一般用途儲存貯體格式是不含具名資料欄的位置空格分隔文字。
+ **其他欄位** – CloudWatch Logs 格式包含 `schema_version_id`和 `bucket_arn`，這些格式不存在於一般用途儲存貯體文字格式中。
+ **不需要剖析** – 由於 CloudWatch Logs 日誌是結構化 JSON，因此您可以直接在 CloudWatch Logs Insights 中查詢個別欄位，而不需要 regex 剖析。一般用途儲存貯體文字格式需要 regex 或自訂剖析器才能擷取欄位。