メトリクスと分析
R2は、アカウント内のバケットのリクエストとストレージを検査するための分析を公開しています。
Cloudflareダッシュボード ↗に表示されるバケットのメトリクスは、CloudflareのGraphQL Analytics APIからクエリされています。メトリクスには、GraphQLまたはHTTPクライアントを介してプログラム的にアクセスできます。
R2には現在、2つのデータセットがあります:
データセット | GraphQLデータセット名 | 説明 |
|---|---|---|
| 操作 | r2OperationsAdaptiveGroups | このデータセットは、アカウントのバケットに対して行われた操作で構成されています。 |
| ストレージ | r2StorageAdaptiveGroups | このデータセットは、アカウントのバケットのストレージで構成されています。 |
フィールド | 説明 |
|---|---|
| actionType | 実行された操作の名前。 |
| actionStatus | 操作のステータス。success、userError、またはinternalErrorのいずれかです。 |
| bucketName | この操作が実行されたバケット(該当する場合)。管轄が指定されたバケットの場合、バケット名の前にアンダースコアとともに管轄を含める必要があります。例えば:eu_your-bucket-name |
| objectName | この操作が実行されたオブジェクト(該当する場合)。 |
| responseStatusCode | この操作によって返されたHTTPステータスコード。 |
| datetime | リクエストの時間。 |
フィールド | 説明 |
|---|---|
| bucketName | このストレージ値が対象とするバケット。管轄が指定されたバケットの場合、バケット名の前に管轄 ↗をアンダースコアとともに含める必要があります。例えば:eu_your-bucket-name |
| payloadSize | バケット内のオブジェクトのサイズ。 |
| metadataSize | バケット内のオブジェクトのメタデータのサイズ。 |
| objectCount | バケット内のオブジェクトの数。 |
| uploadCount | バケット内の保留中のマルチパートアップロードの数。 |
| datetime | このストレージ値が表す時間。 |
メトリクスは過去31日間のデータをクエリ(および保持)できます。これらのデータセットには、CloudflareアカウントIDを持つaccountTagフィルターが必要です。
R2のバケットごとの分析はCloudflareダッシュボードで利用可能です。バケットの現在および過去のメトリクスを表示するには:
- Cloudflareダッシュボード ↗にログインし、アカウントを選択します。
- R2タブ ↗に移動し、バケットを選択します。
- メトリクスタブを選択します。
オプションで、クエリする時間ウィンドウを選択できます。デフォルトは過去24時間です。
GraphQL Analytics APIを介して、R2バケットの分析をプログラム的にクエリできます。このAPIはCloudflareダッシュボードと同じデータセットをクエリし、GraphQLのイントロスペクションをサポートしています。
特定の期間におけるバケットの各操作タイプのボリュームをクエリするには、次のようなクエリを実行できます。
query { viewer { accounts(filter: { accountTag: $accountId }) { r2OperationsAdaptiveGroups( limit: 10000 filter: { datetime_geq: $startDate datetime_leq: $endDate bucketName: $bucketName } ) { sum { requests } dimensions { actionType } } } }}bucketNameフィールドを削除すると、アカウントレベルの操作の概要を取得できます。操作のボリュームは、クエリにさらに多くの次元を追加することでさらに細分化できます。
特定の期間におけるバケットのストレージをクエリするには、次のようなクエリを実行できます。
query { viewer { accounts(filter: { accountTag: $accountId }) { r2StorageAdaptiveGroups( limit: 10000 filter: { datetime_geq: $startDate datetime_leq: $endDate bucketName: $bucketName } orderBy: [datetime_DESC] ) { max { objectCount, uploadCount, payloadSize, metadataSize } dimensions { datetime } } } }}