Vista previa: estas API aún se están diseñando y todavía no están disponibles.
Ir al contenido
UpskyDocs

Descripción general

Espacio para todo lo que construyes.

Upsky Storage le da a tus apps buckets privados que hablan la API de S3, así que funcionan con cualquier cliente o SDK de S3. Las descargas siempre son gratis.

Empieza

  1. En el panel, abre Storage y crea un bucket. Cada equipo tiene un bucket de 10 GB gratis.
  2. Abre el bucket y crea una llave de acceso. Copia el Access Key ID y el Secret Access Key: el secreto se muestra una sola vez.
  3. Haz clic en Conectar en la página de Storage para copiar el endpoint. La región siempre es auto.

Cada llave de acceso solo llega a un bucket. Crea una por app o entorno, para poder eliminar una sin romper las demás.

Conecta un cliente

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

const storage = new S3Client({
  region: "auto",
  endpoint: process.env.UPSKY_STORAGE_ENDPOINT,
  credentials: {
    accessKeyId: process.env.UPSKY_STORAGE_ACCESS_KEY_ID,
    secretAccessKey: process.env.UPSKY_STORAGE_SECRET_ACCESS_KEY,
  },
})

Usa como Bucket en cada solicitud el nombre que aparece en la página del bucket, que empieza con upsky-.

Sube un archivo

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

await storage.send(
  new PutObjectCommand({
    Bucket: process.env.UPSKY_STORAGE_BUCKET,
    Key: "reportes/2026/reporte.pdf",
    Body: file,
    ContentType: "application/pdf",
  })
)

Una / en la llave funciona como carpeta, y el explorador de archivos del panel la muestra así.

Comparte un archivo

Los buckets son privados. Para que un navegador descargue o suba un archivo directamente, firma una URL de corta duración en tu servidor:

import { GetObjectCommand } from "@aws-sdk/client-s3"
import { getSignedUrl } from "@aws-sdk/s3-request-presigner"

const url = await getSignedUrl(
  storage,
  new GetObjectCommand({
    Bucket: process.env.UPSKY_STORAGE_BUCKET,
    Key: "reportes/2026/reporte.pdf",
  }),
  { expiresIn: 300 }
)

Tamaños y uso

Cada tamaño incluye cierto número de escrituras y lecturas al mes. Las escrituras son solicitudes que cambian o listan el bucket, como las subidas; las lecturas son solicitudes que obtienen datos, como las descargas. Eliminar es gratis.

Las escrituras y lecturas que pasen del incluido se pagan con tus créditos. Si no se pueden pagar, las subidas nuevas se pausan hasta que agregues créditos, y las lecturas siguen funcionando. Un bucket lleno también pausa las subidas hasta que elimines archivos o cambies a un tamaño mayor.

Consulta los precios para ver los tamaños y precios actuales.

En esta página