← Cloudflare R2 / r2 / objects
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
-
V dashboardu Cloudflare přejděte na Objektové úložiště R2 stránce.
Přejděte na Přehled ↗ -
Vyberte svůj bucket.
-
Vyhledejte objekt, který chcete stáhnout.
-
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.
- Vaše aplikace vygeneruje předem podepsanou GET URL adresu pomocí S3 SDK
- Odešlete URL svému klientovi
- 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.pngSoubor 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).