跳转到内容
本站为社区维护的非官方中文翻译,与 Cloudflare, Inc. 无关联。本站不提供账户登录,请勿在任何非官方站点输入您的 Cloudflare 账户信息。官方文档:developers.cloudflare.com

数据访问日志

最后更新 查看 MarkdownAgent 设置

R2 Data Access Logs(数据访问日志)为存储桶中的对象操作提供按请求记录。对于没有管辖区域的 R2 存储桶,该功能已正式可用。

Data Access Logs 不同于记录存储桶配置变更的审计日志,也不同于提供聚合请求和存储数据的 R2 指标。

支持的接口

Data Access Logs 记录来自这些接口的请求:

接口 来源
S3 通过 S3 兼容 API 的请求。
API 来自 Cloudflare 仪表板或 API 的对象操作。
Workers 通过 R2 绑定(binding)的对象操作。这些事件包含 Worker 脚本名称。
Public 通过 r2.dev 或自定义域名访问公开存储桶的请求。这些请求未经身份验证。

记录的操作

Data Access Logs 记录以下操作:

类别 操作
读取 GetObject、HeadObject
写入和复制 PutObject、CopyObject
列出 ListObjectsV1、ListObjectsV2
分片上传 CreateMultipartUpload、UploadPart、UploadPartCopy、CompleteMultipartUpload、AbortMultipartUpload、ListMultipartUploads、ListParts
删除 DeleteObject、DeleteObjects、DeleteObjectsByPrefix

存储桶和配置操作不包含在内。HTTP 状态码为 400 或更高的失败请求也不包含在内。

开启 Data Access Logs

  1. 在 Cloudflare 仪表板中,前往要启用的存储桶。

    前往 Bucket settings(存储桶设置) ↗
  2. 在 Data Access Logs 下,选择 Enabled。

开启 Data Access Logs 后,R2 会记录新的受支持操作。更早的操作不会回溯添加。

Data Access Logs 保留期为七天。自 2026 年 12 月 1 日起,它们使用 Cloudflare Observability 定价。

查看 Data Access Logs

在存储桶设置的 Data Access Logs 部分,选择 View logs in Workers Observability。Events 视图会打开,并已为过去一小时选中 r2 数据集和当前存储桶。

使用 Query Builder 更改时间范围、添加筛选器或聚合事件。

关闭 Data Access Logs

  1. 在 Cloudflare 仪表板中,前往要禁用的存储桶。

    前往 Bucket settings(存储桶设置) ↗
  2. 在 Data Access Logs 中,选择 Disabled。

日志字段

每个事件都可能包含这些字段:

字段 描述
$metadata.timestamp 以 Unix 毫秒表示的事件时间戳。
$metadata.service 用作服务名称的存储桶名称。
$metadata.namespace 事件命名空间。值为 r2。
action R2 操作名称。
actor.type 操作者类型:user 或 service。公开存储桶请求使用 service。
actor.id 已通过身份验证的操作者标识符。公开存储桶请求使用 public。
actor.email 用户操作者的电子邮件地址。
actor.accessKeyId 使用 AWS Signature Version 4 进行身份验证的请求的 Access Key ID。
bucket 目标存储桶名称。
interface 请求接口:S3、API、Workers 或 Public。
request.bytes 请求 Content-Length 值(字节)。
response.bytes 响应 Content-Length 值(字节)。
response.errorCode 响应错误代码。对于 304 响应,此值为 NotModified;对于 2xx 响应,此值为 null。
response.errorMessage 响应错误消息。该值描述 304 响应,对于 2xx 响应为 null。
requestMetadata.colo Cloudflare 数据中心代码;数据中心不可用时为 XXX。

S3 兼容 API、Cloudflare API 和公开存储桶事件还可能包含这些字段:

字段 描述
request.method HTTP 请求方法。
request.uri 请求路径。
response.status HTTP 响应状态码。
requestMetadata.ip 客户端 IP 地址。
requestMetadata.userAgent 客户端 user agent。

Workers 绑定事件包含此附加字段:

字段 描述
scriptName 触发该操作的 Worker 脚本名称。

Workers 绑定事件不包含 HTTP 方法、URI、响应状态、客户端 IP 地址或 user agent。

事件可以包含这些操作特定字段:

字段 描述
resource.key 对象键。
resource.type 资源类型:object 或 multipart_upload。
resource.size 可用时的对象大小(字节)。
resource.uploadId 分片上传的 Upload ID。
sourceResource 复制操作的源存储桶、键和资源类型。
prefix 列出或按前缀删除操作使用的前缀。
delimiter 列出操作使用的分隔符。
maxKeys 对象列出操作请求的最大键数。
maxUploads 分片上传列出操作请求的最大上传数。
objects 批量删除操作中包含的对象键。

request.bytes 和 response.bytes 字段反映 Content-Length 值,而不是精确的传输字节测量。字节计数或资源大小为 0 可能表示零字节,也可能表示 R2 创建事件时该值不可用。

这篇文档对您有帮助吗?