如何通过Cloudflare API获取R2存储桶使用指标?
获取Cloudflare R2存储桶使用指标的API方法
核心API调用方式
Cloudflare R2的存储用量、操作次数等指标可通过官方Analytics API获取,以下是具体实现步骤:
1. 获取存储桶大小
调用GET /accounts/{account_id}/r2/buckets/{bucket_name}/analytics/storage接口,请求需携带拥有Analytics:Read和R2:Read权限的API令牌。
示例请求:
curl -X GET "https://api.cloudflare.com/client/v4/accounts/{YOUR_ACCOUNT_ID}/r2/buckets/{YOUR_BUCKET_NAME}/analytics/storage" \ -H "Authorization: Bearer {YOUR_API_TOKEN}"
返回结果中,sum.storage_bytes为存储桶当前总大小,avg.storage_bytes代表指定周期内的平均存储量。
2. 获取A类、B类操作次数
调用GET /accounts/{account_id}/r2/buckets/{bucket_name}/analytics/operations接口,同样需要权限正确的API令牌。
示例请求:
curl -X GET "https://api.cloudflare.com/client/v4/accounts/{YOUR_ACCOUNT_ID}/r2/buckets/{YOUR_BUCKET_NAME}/analytics/operations" \ -H "Authorization: Bearer {YOUR_API_TOKEN}"
返回结果按操作类型分类统计:
- A类操作(读取类):对应
get、head操作,统计字段为sum.get_operations、sum.head_operations等 - B类操作(写入/修改类):对应
put、post、delete操作,统计字段为sum.put_operations、sum.delete_operations等
关键注意事项
- API令牌必须配置
R2 Bucket Analytics:Read和Account Analytics:Read权限,否则会返回权限错误 - 指标数据存在5-15分钟的延迟,无法获取实时数据
- 可通过添加
start和end查询参数指定时间范围,格式为ISO 8601(如start=2024-01-01T00:00:00Z)
内容的提问来源于stack exchange,提问作者Zoltar1999
相关产品推荐
相关产品推荐

