Skip to content

非公式本サイトは非公式の日本語ドキュメントであり、Cloudflare 公式サイトではありません。最新情報はdevelopers.cloudflare.comをご確認ください。

オブジェクトをダウンロードする

最終更新 Markdown で表示Agent セットアップ

ダッシュボード、Workers API、S3 API、またはコマンドラインツールを使って、R2 からオブジェクトをダウンロードできます。

ダッシュボードからダウンロードする

  1. Cloudflare ダッシュボードで R2 object storage ページを開きます。

    Overview を開く ↗
  2. バケットを選びます。

  3. ダウンロードするオブジェクトを探します。

  4. オブジェクトの ... を開き、Download を選びます。

Workers API からダウンロードする

Workers の R2 バインディング を使い、オブジェクトをダウンロードします。

export default {
	async fetch(request: Request, env: Env, ctx: ExecutionContext) {
		const object = await env.MY_BUCKET.get("image.png");
		if (object === null) {
			return new Response("Object not found", { status: 404 });
		}
		return new Response(object.body);
	},
} satisfies ExportedHandler<Env>;

完全なドキュメントは Workers API を参照してください。

S3 API からダウンロードする

S3 互換 SDK を使ってオブジェクトをダウンロードします。アカウント IDR2 API トークン が必要です。

import { S3Client, GetObjectCommand } from "@aws-sdk/client-s3";

const S3 = new S3Client({
	region: "auto", // Required by SDK but not used by R2
	// Provide your Cloudflare account ID
	endpoint: `https://<ACCOUNT_ID>.r2.cloudflarestorage.com`,
	// Retrieve your S3 API credentials for your R2 bucket via API tokens (see: https://developers.cloudflare.com/r2/api/tokens)
	credentials: {
		accessKeyId: '<ACCESS_KEY_ID>',
		secretAccessKey: '<SECRET_ACCESS_KEY>',
	},
});

const response = await S3.send(
	new GetObjectCommand({
		Bucket: "my-bucket",
		Key: "image.png",
	}),
);
import boto3

s3 = boto3.client(
	service_name="s3",
	# Provide your Cloudflare account ID
	endpoint_url=f"https://{ACCOUNT_ID}.r2.cloudflarestorage.com",
	# Retrieve your S3 API credentials for your R2 bucket via API tokens (see: https://developers.cloudflare.com/r2/api/tokens)
	aws_access_key_id=ACCESS_KEY_ID,
	aws_secret_access_key=SECRET_ACCESS_KEY,
	region_name="auto", # Required by SDK but not used by R2
)

response = s3.get_object(Bucket="my-bucket", Key="image.png")
image_data = response["Body"].read()

S3 API のメソッド一覧は、R2 の S3 API ドキュメント を参照してください。

署名付き URL

ユーザーが R2 から直接ダウンロードするクライアント側のダウンロードでは、署名付き URL を使います。サーバーが一時的なダウンロード URL を生成し、クライアントは API 認証情報を公開せずにその URL を使えます。

  1. アプリケーションが S3 SDK で署名付き GET URL を生成します
  2. その URL をクライアントへ送ります
  3. クライアントは署名付き URL を使い、R2 から直接ダウンロードします

署名付き URL の生成と使い方は 署名付き URL を参照してください。

Wrangler からダウンロードする

Wrangler でオブジェクトをダウンロードします。r2 object get コマンド を実行します。

wrangler r2 object get test-bucket/image.png

ファイルは現在の作業ディレクトリにダウンロードされます。--file フラグでダウンロード時の新しいファイル名を指定でき、--pipe フラグで標準出力(stdout)へパイプできます。

役に立ちましたか?