Proveedores de almacenamiento

S3, Google Cloud Storage, R2 y un adaptador en memoria tras una sola interfaz — cambia de proveedor sin tocar un scope.

Providers de almacenamiento

Un provider es la traducción delgada hacia un bucket. Los tres implementan el mismo contrato, así que cambiar de uno a otro nunca toca los scopes ni el servicio.

// Google Cloud Storage — dos buckets: activos públicos, documentos privados
import { createGcsProvider } from 'uploaderkit/adapters/gcs'

const provider = createGcsProvider({
	publicBucket,
	privateBucket,
	publicUrl: (bucket, key) => `https://cdn.example.com/${key}`,
})
// Compatible con S3 — AWS, Cloudflare R2, Backblaze B2, MinIO, Wasabi
import { createS3Provider } from 'uploaderkit/adapters/s3'

const provider = createS3Provider({
	client, // un S3Client de @aws-sdk/client-s3; entre backends solo cambian endpoint/credenciales
	bucket: 'uploads',
	publicUrl: key => `https://cdn.example.com/${key}`,
})
// Pruebas y desarrollo local
import { createMemoryProvider } from 'uploaderkit/adapters/memory'

const provider = createMemoryProvider() // las URLs firmadas son falsas pero cargan la expiración

El bucket de S3 se trata como privado y publicUrl mapea las keys que expone un CDN o un dominio público — los buckets modernos bloquean las ACL por objeto, así que el adaptador no puede inventarse una URL pública estable. Ambos SDK son peers opcionales: importar un adaptador sin su SDK instalado falla solo para la app que eligió ese backend.

On this page