Amazon Simple Storage Service
开发人员指南 (API 版本 2006-03-01)
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

Amazon S3 服务器访问日志格式

本节介绍了 Amazon S3 服务器访问日志文件。

服务器访问日志文件由一系列的换行分隔日志记录组成。每个日志记录表示一个请求并由空格分隔的字段组成。以下是含有五份日志记录的示例日志。

79a59df900b949e55d96a1e698fbacedfd6e09d98eacf8f8d5218e7cd47ef2be awsexamplebucket [06/Feb/2019:00:00:38 +0000] 192.0.2.3 79a59df900b949e55d96a1e698fbacedfd6e09d98eacf8f8d5218e7cd47ef2be 3E57427F3EXAMPLE REST.GET.VERSIONING - "GET /awsexamplebucket?versioning HTTP/1.1" 200 - 113 - 7 - "-" "S3Console/0.4" - s9lzHYrFp76ZVxRcpX9+5cjAnEH2ROuNkd2BHfIa6UkFVdtjf5mKR3/eTPFvsiP/XV/VLi31234= SigV2 ECDHE-RSA-AES128-GCM-SHA256 AuthHeader awsexamplebucket.s3.amazonaws.com TLSV1.1 79a59df900b949e55d96a1e698fbacedfd6e09d98eacf8f8d5218e7cd47ef2be awsexamplebucket [06/Feb/2019:00:00:38 +0000] 192.0.2.3 79a59df900b949e55d96a1e698fbacedfd6e09d98eacf8f8d5218e7cd47ef2be 891CE47D2EXAMPLE REST.GET.LOGGING_STATUS - "GET /awsexamplebucket?logging HTTP/1.1" 200 - 242 - 11 - "-" "S3Console/0.4" - 9vKBE6vMhrNiWHZmb2L0mXOcqPGzQOI5XLnCtZNPxev+Hf+7tpT6sxDwDty4LHBUOZJG96N1234= SigV2 ECDHE-RSA-AES128-GCM-SHA256 AuthHeader awsexamplebucket.s3.amazonaws.com TLSV1.1 79a59df900b949e55d96a1e698fbacedfd6e09d98eacf8f8d5218e7cd47ef2be awsexamplebucket [06/Feb/2019:00:00:38 +0000] 192.0.2.3 79a59df900b949e55d96a1e698fbacedfd6e09d98eacf8f8d5218e7cd47ef2be A1206F460EXAMPLE REST.GET.BUCKETPOLICY - "GET /awsexamplebucket?policy HTTP/1.1" 404 NoSuchBucketPolicy 297 - 38 - "-" "S3Console/0.4" - BNaBsXZQQDbssi6xMBdBU2sLt+Yf5kZDmeBUP35sFoKa3sLLeMC78iwEIWxs99CRUrbS4n11234= SigV2 ECDHE-RSA-AES128-GCM-SHA256 AuthHeader awsexamplebucket.s3.amazonaws.com TLSV1.1 79a59df900b949e55d96a1e698fbacedfd6e09d98eacf8f8d5218e7cd47ef2be awsexamplebucket [06/Feb/2019:00:01:00 +0000] 192.0.2.3 79a59df900b949e55d96a1e698fbacedfd6e09d98eacf8f8d5218e7cd47ef2be 7B4A0FABBEXAMPLE REST.GET.VERSIONING - "GET /awsexamplebucket?versioning HTTP/1.1" 200 - 113 - 33 - "-" "S3Console/0.4" - Ke1bUcazaN1jWuUlPJaxF64cQVpUEhoZKEG/hmy/gijN/I1DeWqDfFvnpybfEseEME/u7ME1234= SigV2 ECDHE-RSA-AES128-GCM-SHA256 AuthHeader awsexamplebucket.s3.amazonaws.com TLSV1.1 79a59df900b949e55d96a1e698fbacedfd6e09d98eacf8f8d5218e7cd47ef2be awsexamplebucket [06/Feb/2019:00:01:57 +0000] 192.0.2.3 79a59df900b949e55d96a1e698fbacedfd6e09d98eacf8f8d5218e7cd47ef2be DD6CC733AEXAMPLE REST.PUT.OBJECT s3-dg.pdf "PUT /awsexamplebucket/s3-dg.pdf HTTP/1.1" 200 - - 4406583 41754 28 "-" "S3Console/0.4" - 10S62Zv81kBW7BB6SX4XJ48o6kpcl6LPwEoizZQQxJd5qDSCTLX0TgS37kYUBKQW3+bPdrg1234= SigV4 ECDHE-RSA-AES128-SHA AuthHeader awsexamplebucket.s3.amazonaws.com TLSV1.1

注意

任何字段都可以设置为 - 以指示数据未知或不可用,或者该字段不适用于此请求。

以下列表介绍了日志记录字段。

存储桶拥有者

源存储桶拥有者的规范用户 ID。规范用户 ID 是另一种形式的 AWS 账户 ID。有关规范用户 ID 的更多信息,请参阅 AWS 账户标识符。有关如何查找您的账户的规范用户 ID 的信息,请参阅查找账户的规范用户 ID

示例条目

79a59df900b949e55d96a1e698fbacedfd6e09d98eacf8f8d5218e7cd47ef2be
存储桶

请求处理的存储桶的名称。如果系统收到格式错误的请求且无法确定存储桶,则请求不会显示在任何的服务器访问日志中。

示例条目

awsexamplebucket
Time

收到请求的时间。使用 strftime() 术语的格式如下所示:[%d/%b/%Y:%H:%M:%S %z]

示例条目

[06/Feb/2019:00:00:38 +0000]
远程 IP

请求者的显式 Internet 地址。中间代理和防火墙可能会隐藏发送请求的计算机的实际地址。

示例条目

192.0.2.3
请求者

请求者的规范用户 ID 或用于未经验证请求的 -。如果请求者是 IAM 用户,此字段会返回请求者的 IAM 用户名以及该 IAM 用户所属的 AWS 根账户。此标识符与用于访问控制目的的标识符是相同的。

示例条目

79a59df900b949e55d96a1e698fbacedfd6e09d98eacf8f8d5218e7cd47ef2be
请求 ID

由 Amazon S3 生成的字符串,可用于唯一地标识每个请求。

示例条目

3E57427F33A59F07
运算

此处列出的操作将声明为 SOAP.operationREST.HTTP_method.resource_typeWEBSITE.HTTP_method.resource_typeBATCH.DELETE.OBJECT

示例条目

REST.PUT.OBJECT
密钥

请求的“密钥”部分、已编码的 URL 或“-” (如果操作没有使用密钥参数)。

示例条目

/photos/2019/08/puppy.jpg
请求-URI

HTTP 请求消息的“请求-URI”部分。

示例条目

"GET /awsexamplebucket/photos/2019/08/puppy.jpg?x-foo=bar HTTP/1.1"
HTTP 状态

响应的数字 HTTP 状态代码。

示例条目

200
错误代码

Amazon S3 错误代码或“-”(如果没有发生任何错误)。

示例条目

NoSuchBucket
发送的字节数

发送的响应字节数,不包括 HTTP 协议支出或“-” (如果为零)。

示例条目

2662992
对象大小

所涉及的对象的总大小。

示例条目

3462992
总时间

从服务器传输请求的毫秒数。该值计算从收到请求到发出响应的最后一个字节的时间。由于网络延迟,从客户端计算出的时间可能会更长。

示例条目

70
周转时间

Amazon S3 处理您的请求所花费的毫秒数。该值计算从收到您的请求的最后一个字节到发出响应的第一个字节的时间。

示例条目

10
引用站点

HTTP 引用站点标头的值 (如果存在)。发送请求时,HTTP 用户代理(例如,浏览器)通常会将此标头设置为链接的 URL 或嵌入页面。

示例条目

"http://www.amazon.com/webservices"
用户代理

HTTP 用户代理标头的值。

示例条目

"curl/7.15.1"
版本 ID

请求中的版本 ID 或“-” (如果操作没有使用 versionId 参数)。

示例条目

3HL4kqtJvjVBH40Nrjfkd
主机 ID

x-amz-id-2 或 Amazon S3 扩展请求 ID。

示例条目

s9lzHYrFp76ZVxRcpX9+5cjAnEH2ROuNkd2BHfIa6UkFVdtjf5mKR3/eTPFvsiP/XV/VLi31234=
签名版本

签名版本,用于对请求进行身份验证的 SigV2SigV4,或未经身份验证的请求的 -

示例条目

SigV2
密码套件

协商 HTTPS 请求的安全套接字层 (SSL) 密码或协商 HTTP 的 -

示例条目

ECDHE-RSA-AES128-GCM-SHA256
身份验证类型

所使用的请求身份验证的类型,身份验证标头使用 AuthHeader,查询字符串(预签名 URL)使用 QueryString,未经身份验证的请求使用 -

示例条目

AuthHeader
主机标头

用于连接到 Amazon S3 的终端节点

示例条目

s3-us-west-2.amazonaws.com
TLS 版本

客户端协商的传输层安全性 (TLS) 版本。为以下值之一:TLSv1TLSv1.1TLSv1.2;如果不使用 TLS 则为 -

示例条目

TLSv1.2

复制操作的其他日志记录

复制操作包括 GETPUT。出于该原因,我们会在执行复制操作时记录两份记录。前面的表格描述了与操作的 PUT 部分相关的字段。以下列表描述了记录中与复制操作的 GET 部分相关的字段。

存储桶拥有者

用于存储将复制的对象的存储桶的规范用户 ID。规范用户 ID 是另一种形式的 AWS 账户 ID。有关规范用户 ID 的更多信息,请参阅 AWS 账户标识符。有关如何查找您的账户的规范用户 ID 的信息,请参阅查找账户的规范用户 ID

示例条目

79a59df900b949e55d96a1e698fbacedfd6e09d98eacf8f8d5218e7cd47ef2be
存储桶

用于存储被复制对象的存储桶的名称。

示例条目

awsexamplebucket
Time

收到请求的时间。使用 strftime() 术语的格式如下所示:[%d/%B/%Y:%H:%M:%S %z]

示例条目

[06/Feb/2019:00:00:38 +0000]
远程 IP

请求者的显式 Internet 地址。中间代理和防火墙可能会隐藏发送请求的计算机的实际地址。

示例条目

192.0.2.3
请求者

请求者的规范用户 ID 或用于未经验证请求的 -。如果请求者是 IAM 用户,此字段将返回请求者的 IAM 用户名与该 IAM 用户所属的 AWS 根账户。此标识符与用于访问控制目的的标识符是相同的。

示例条目

79a59df900b949e55d96a1e698fbacedfd6e09d98eacf8f8d5218e7cd47ef2be
请求 ID

由 Amazon S3 生成的字符串,可用于唯一地标识每个请求。

示例条目

3E57427F33A59F07
运算

此处列出的操作将声明为 SOAP.operationREST.HTTP_method.resource_typeWEBSITE.HTTP_method.resource_typeBATCH.DELETE.OBJECT

示例条目

REST.COPY.OBJECT_GET
密钥

被复制对象的“密钥”或“-” (如果操作没有使用密钥参数)。

示例条目

/photos/2019/08/puppy.jpg
请求-URI

HTTP 请求消息的“请求-URI”部分。

示例条目

"GET /awsexamplebucket/photos/2019/08/puppy.jpg?x-foo=bar"
HTTP 状态

复制操作的 GET 部分的数字 HTTP 状态代码。

示例条目

200
错误代码

复制操作的 GET 部分的 Amazon S3 错误代码 或“-”(如果没有发生任何错误)。

示例条目

NoSuchBucket
发送的字节数

发送的响应字节数,不包括 HTTP 协议支出或“-” (如果为零)。

示例条目

2662992
对象大小

所涉及的对象的总大小。

示例条目

3462992
总时间

从服务器传输请求的毫秒数。该值计算从收到请求到发出响应的最后一个字节的时间。由于网络延迟,从客户端计算出的时间可能会更长。

示例条目

70
周转时间

Amazon S3 处理您的请求所花费的毫秒数。该值计算从收到您的请求的最后一个字节到发出响应的第一个字节的时间。

示例条目

10
引用站点

HTTP 引用站点标头的值 (如果存在)。发送请求时,HTTP 用户代理(例如,浏览器)通常会将此标头设置为链接的 URL 或嵌入页面。

示例条目

"http://www.amazon.com/webservices"
用户代理

HTTP 用户代理标头的值。

示例条目

"curl/7.15.1"
版本 ID

被复制对象的版本 ID 或“-”(如果 x-amz-copy-source 标头没有将 versionId 参数指定为复制源的一部分)。

示例条目

3HL4kqtJvjVBH40Nrjfkd
主机 ID

x-amz-id-2 或 Amazon S3 扩展请求 ID。

示例条目

s9lzHYrFp76ZVxRcpX9+5cjAnEH2ROuNkd2BHfIa6UkFVdtjf5mKR3/eTPFvsiP/XV/VLi31234=
签名版本

签名版本,用于对请求进行身份验证的 SigV2SigV4,或未经身份验证的请求的 -

示例条目

SigV2
密码套件

协商 HTTPS 请求的安全套接字层 (SSL) 密码或协商 HTTP 的 -

示例条目

ECDHE-RSA-AES128-GCM-SHA256
身份验证类型

所使用的请求身份验证的类型,身份验证标头使用 AuthHeader,查询字符串(预签名 URL)使用 QueryString,未经身份验证的请求使用 -

示例条目

AuthHeader
主机标头

用于连接到 Amazon S3 的终端节点

示例条目

s3-us-west-2.amazonaws.com
TLS 版本

客户端协商的传输层安全性 (TLS) 版本。为以下值之一:TLSv1TLSv1.1TLSv1.2;如果不使用 TLS 则为 -

示例条目

TLSv1.2

自定义访问日志信息

通过向请求的 URL 添加自定义的查询字符串参数,您可以在请求的访问日志记录中包含要存储的自定义信息。Amazon S3 将忽略以“x-”开头的查询字符串参数,但是会在请求的访问日志记录中包含这些参数,以作为日志记录的 Request-URI 字段的一部分。例如,“s3.amazonaws.com.cn/awsexamplebucket/photos/2019/08/puppy.jpg?x-user=johndoe”的 GET 请求与“s3.amazonaws.com.cn/awsexamplebucket/photos/2019/08/puppy.jpg”的同一请求的工作方式相同,唯一的不同是“x-user=johndoe”字符串包含在关联日志记录的 Request-URI 字段中。此功能仅在 REST 界面中可用。

可扩展服务器访问日志格式的编程注意事项

有时我们可能会通过向每一行的末尾添加新字段来扩展访问日志记录格式。必须写入可解析服务器访问日志的代码以处理后续未知的字段。