跳转到内容
搜索文档

指标和分析

最后更新 查看 MarkdownAgent 设置

R2 提供分析功能,允许您检查账户中存储桶的请求和存储情况。

Cloudflare 仪表板 中显示的存储桶指标从 Cloudflare 的 GraphQL Analytics API 查询。您可以通过 GraphQL 或 HTTP 客户端以编程方式访问这些指标。

指标

R2 目前有两个数据集:

Dataset GraphQL Dataset Name Description
Operations r2OperationsAdaptiveGroups 此数据集包含账户内存储桶上执行的操作。
Storage r2StorageAdaptiveGroups 此数据集包含账户内存储桶的存储情况。

Operations Dataset

Field Description
actionType 执行的操作名称。
actionStatus 操作的状态。可以是 successuserErrorinternalError
bucketName 执行此操作的存储桶(如适用)。对于指定了管辖区域的存储桶,必须在存储桶名称前加上管辖区域和下划线。例如:eu_your-bucket-name
objectName 执行此操作的对象(如适用)。
responseStatusCode 此操作返回的 HTTP 状态码。
datetime 请求的时间。

Storage Dataset

Field Description
bucketName 此存储值对应的存储桶。对于指定了管辖区域的存储桶,必须在存储桶名称前加上管辖区域和下划线。例如:eu_your-bucket-name
payloadSize 存储桶中对象的大小。
metadataSize 存储桶中对象元数据的大小。
objectCount 存储桶中的对象数量。
uploadCount 存储桶中待完成的分片上传数量。
datetime 此存储值所代表的时间。

指标可查询(并保留)过去 31 天的数据。这些数据集需要带有 Cloudflare 账户 ID 的 accountTag 过滤器。

通过仪表板查看

R2 的按存储桶分析可在 Cloudflare 仪表板中查看。要查看存储桶的当前和历史指标:

  1. 在 Cloudflare 仪表板中,前往 R2 object storage(R2 对象存储) 页面。

    Go to Overview ↗
  2. 选择您的存储桶。

  3. 选择 Metrics(指标) 选项卡。

您可以选择时间窗口进行查询。默认值为过去 24 小时。

通过 GraphQL API 查询

您可以通过 GraphQL Analytics API 以编程方式查询 R2 存储桶的分析数据。此 API 查询与 Cloudflare 仪表板相同的数据集,并支持 GraphQL 内省

示例

Operations

要查询给定时间段内存储桶上每种操作类型的数量,可以运行如下查询

query R2VolumeExample(
	$accountTag: string!
	$startDate: Time
	$endDate: Time
	$bucketName: string
) {
	viewer {
		accounts(filter: { accountTag: $accountTag }) {
			r2OperationsAdaptiveGroups(
				limit: 10000
				filter: {
					datetime_geq: $startDate
					datetime_leq: $endDate
					bucketName: $bucketName
				}
			) {
				sum {
					requests
				}
				dimensions {
					actionType
				}
			}
		}
	}
}

移除 bucketName 字段可获取账户级别的操作概览。通过向查询添加更多维度,可以进一步细分操作量。

Storage

要查询给定时间段内存储桶的存储情况,可以运行如下查询。

query R2StorageExample(
	$accountTag: string!
	$startDate: Time
	$endDate: Time
	$bucketName: string
) {
	viewer {
		accounts(filter: { accountTag: $accountTag }) {
			r2StorageAdaptiveGroups(
				limit: 10000
				filter: {
					datetime_geq: $startDate
					datetime_leq: $endDate
					bucketName: $bucketName
				}
				orderBy: [datetime_DESC]
			) {
				max {
					objectCount
					uploadCount
					payloadSize
					metadataSize
				}
				dimensions {
					datetime
				}
			}
		}
	}
}

这篇文档对您有帮助吗?