Contáctanos
Webflow Premium Partner Ehab Fayez
Volver a Agent Skills
Datos y Analítica

Cloudflare R2 Object Storage

Almacena objetos con Cloudflare R2 sin costos de egreso, API compatible con S3 y entrega optimizada para el edge.

Claude Code Cursor Copilot Windsurf

Descripción General

Cloudflare R2 es un servicio de almacenamiento de objetos compatible con S3 que elimina los costos de egreso, haciéndolo significativamente más económico que AWS S3 para aplicaciones que sirven contenido almacenado frecuentemente. R2 se distribuye automáticamente a través de la red global de Cloudflare, proporcionando acceso de baja latencia en todo el mundo sin requerir configuración de CDN.

R2 proporciona compatibilidad completa con la API de S3, lo que significa que puedes usar el AWS SDK, rclone o cualquier herramienta compatible con S3 para interactuar con él. Para Cloudflare Workers, los bindings de R2 proporcionan acceso directo al almacenamiento sin sobrecarga de red, habilitando operaciones de almacenamiento rápidas en el edge. Los buckets públicos pueden accederse a través de dominios personalizados con TLS y caché automáticos.

El servicio soporta objetos de hasta 5 TB, cargas multipart, operaciones condicionales (ETags) y reglas de ciclo de vida para eliminación automática. R2 se integra con Cloudflare Workers para procesamiento del lado del servidor (redimensionamiento de imágenes, conversión de formato), Cache API para caché en el edge y notificaciones de eventos para activar flujos de trabajo al cargar. Los precios incluyen egreso gratuito, con almacenamiento a $0.015/GB/mes y operaciones con precio por millón.

¿Para Quién Es?

  • Almacenar cargas de usuario sin costos de egreso para servir contenido
  • Migrar de S3 a R2 usando el mismo SDK y herramientas
  • Procesar imágenes cargadas con Cloudflare Workers
  • Servir assets estáticos globalmente a través de buckets públicos de R2

Instalación

Configurar Claude Code
npm install @aws-sdk/client-s3

Configuración

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

// R2 uses S3-compatible API
const r2 = new S3Client({
  region: "auto",
  endpoint: `https://${process.env.CF_ACCOUNT_ID}.r2.cloudflarestorage.com`,
  credentials: {
    accessKeyId: process.env.R2_ACCESS_KEY_ID!,
    secretAccessKey: process.env.R2_SECRET_ACCESS_KEY!,
  },
})

await r2.send(new PutObjectCommand({
  Bucket: "my-bucket",
  Key: "uploads/photo.jpg",
  Body: fileBuffer,
}))