R2 の Data Access Logs(データアクセスログ)は、バケット内のオブジェクト操作をリクエスト単位で記録します。ログは、管轄(jurisdiction) がない R2 バケットで一般提供されています。
Data Access Logs は、バケット設定の変更を記録する Audit Logs とは異なります。R2 メトリクス とも異なり、こちらは集計したリクエストとストレージのデータを提供します。
Data Access Logs は、次のインターフェイスからのリクエストを記録します。
| インターフェイス | 送信元 |
|---|---|
S3 |
S3 互換 API 経由のリクエスト。 |
API |
Cloudflare ダッシュボードまたは API からのオブジェクト操作。 |
Workers |
R2 バインド経由のオブジェクト操作。これらのイベントには 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 以上の失敗したリクエストも含まれません。
-
Cloudflare ダッシュボードで、有効にしたいバケットを開きます。
Bucket settings を開く ↗ -
Data Access Logs で Enabled を選択します。
Data Access Logs を有効にしたあと、R2 は対応する新しい操作を記録します。それ以前の操作は遡って追加されません。
バケット設定の Data Access Logs で、View logs in Workers Observability を選択します。r2 データセットと現在のバケットが選ばれた状態で、直近 1 時間の Events ビューが開きます。
Query Builder で、時間範囲の変更、フィルターの追加、イベントの集計ができます。
-
Cloudflare ダッシュボードで、無効にしたいバケットを開きます。
Bucket settings を開く ↗ -
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 で認証したリクエストのアクセスキー 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 |
クライアントのユーザーエージェント。 |
Workers バインドのイベントには、次の追加フィールドがあります。
| フィールド | 説明 |
|---|---|
scriptName |
操作を起動した Worker スクリプトの名前。 |
Workers バインドのイベントには、HTTP メソッド、URI、レスポンスステータス、クライアント IP アドレス、ユーザーエージェントは含まれません。
イベントには、操作固有の次のフィールドを含められます。
| フィールド | 説明 |
|---|---|
resource.key |
オブジェクトキー。 |
resource.type |
リソースの種類。object または multipart_upload。 |
resource.size |
取得できる場合のオブジェクトサイズ(バイト)。 |
resource.uploadId |
マルチパートアップロードのアップロード ID。 |
sourceResource |
コピー操作のソースバケット、キー、リソースの種類。 |
prefix |
一覧またはプレフィックス削除操作で使うプレフィックス。 |
delimiter |
一覧操作で使う区切り文字。 |
maxKeys |
オブジェクト一覧操作で要求した最大キー数。 |
maxUploads |
マルチパートアップロード一覧操作で要求した最大アップロード数。 |
objects |
一括削除操作に含まれるオブジェクトキー。 |
request.bytes と response.bytes は、実際に転送されたバイト数ではなく、Content-Length の値です。バイト数またはリソースサイズが 0 の場合は、ゼロバイトであるか、R2 がイベントを作成した時点で値が取得できなかったことを意味します。