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
- En el panel, abre Storage y crea un bucket. Cada equipo tiene un bucket de 10 GB gratis.
- 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.
- 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.