INTEGRITY Dokumentace

Stažení objektů

Objekty z R2 můžete stahovat pomocí dashboardu, Workers API, S3 API nebo nástrojů příkazové řádky.

Stažení přes dashboard

  1. V dashboardu Cloudflare přejděte na Objektové úložiště R2 stránce.

    Přejděte na Přehled ↗
  2. Vyberte svůj bucket.

  3. Vyhledejte objekt, který chcete stáhnout.

  4. Vyberte ... pro objekt a klikněte na Stáhnout.

Stažení přes Workers API

Použijte R2 vazby ve Workers ke stažení objektů:

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>;

Úplnou dokumentaci naleznete v Workers API.

Stažení přes S3 API

Ke stažení objektů použijte SDK kompatibilní s S3. Budete potřebovat vaše ID účtu a Token R2 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()

Viz R2 Dokumentace S3 API pro všechny metody S3 API.

Presigned URLs

Pro stahování na straně klienta, kdy uživatelé stahují přímo z R2, použijte předem podepsané URL adresy. Váš server vygeneruje dočasnou URL adresu pro stažení, kterou mohou klienti použít, aniž by byly odhaleny vaše přístupové údaje k API.

  1. Vaše aplikace vygeneruje předem podepsanou GET URL adresu pomocí S3 SDK
  2. Odešlete URL svému klientovi
  3. Klient stahuje přímo z R2 pomocí presigned URL

Podrobnosti o vytváření a používání předem podepsaných URL adres naleznete v Presigned URLs.

Stažení přes Wrangler

Použijte Wrangler ke stažení objektů. Spusťte r2 object get příkaz:

wrangler r2 object get test-bucket/image.png

Soubor bude stažen do aktuálního pracovního adresáře. Můžete také použít --file příznak k nastavení nového názvu objektu při stahování a --pipe příznak, chcete-li stahování přesměrovat na standardní výstup (stdout).