back
loading skill details...
|
S3-compatible object storage on Cloudflare's edge with Workers API, multipart uploads, presigned URLs, and CORS support.
Upload, download, and manage objects via Workers bindings with HTTP metadata, custom metadata, and conditional operations; supports range requests and batch deletes up to 1,000 keys
Multipart uploads for files >100MB (5MB–100MB parts, max 10,000 parts) and presigned URLs for direct client access (S3 domain only, requires server-side generation with expiry)
Configure CORS in bucket settings using CLI format (rules wrapper); presigned URLs work only with {bucket}.{account}.r2.cloudflarestorage.com, not custom domains
Use custom domains for production (never r2.dev, which is rate-limited); shard writes across keys to avoid 429 errors on concurrent writes to same object
Prevents 13 documented issues including CORS format confusion, missing contentType, list() metadata gaps, API token permission errors, and platform outage failures; implement exponential backoff retry logic for 5xx errors
Cloudflare R2 Object Storage
Status: Production Ready ✅
Last Updated: 2026-01-20
Dependencies: cloudflare-worker-base (for Worker setup)
Latest Versions: wrangler@4.59.2, @cloudflare/workers-types@4.20260109.0, aws4fetch@1.0.20
Recent Updates (2025):
September 2025: R2 SQL open beta (serverless query engine for Apache Iceberg), Pipelines GA (real-time stream ingestion), Remote bindings GA (local dev connects to deployed R2)
May 2025: Dashboard redesign (deeplink support, bucket settings centralization), Super Slurper 5x faster (rebuilt with Workers/Queues/Durable Objects)
April 2025: R2 Data Catalog open beta (managed Apache Iceberg catalog), Event Notifications open beta (5,000 msg/s per Queue)
2025: Bucket limits increased (1 million max), CRC-64/NVME checksums, Server-side encryption with customer keys, Infrequent Access storage class (beta), Oceania region, S3 API enhancements (sha256/sha1 checksums, ListParts, conditional CopyObject)
Quick Start (5 Minutes)don't have the plugin yet? install it then click "run inline in claude" again.