← Documentação

Dados

Storage S3

Buckets compatíveis com S3 por projeto, com chave só do bucket.

Criar um bucket

Na página do projeto, em Storage, dê um nome (3 a 30 caracteres) e clique em Criar bucket. Com a opção marcada, estas variáveis vão para Production:

VariávelO que é
S3_ENDPOINTendereço da API S3
S3_REGIONregião a informar ao SDK
S3_BUCKETo nome real do bucket (o que você digitou, com um sufixo)
S3_ACCESS_KEY_ID e S3_SECRET_ACCESS_KEYchave que só vale para este bucket
S3_FORCE_PATH_STYLEtrue: use endereço no estilo /bucket/arquivo
S3_PUBLIC_URLendereço público, só se o bucket for de leitura pública

Usar na aplicação

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

const s3 = new S3Client({
  endpoint: process.env.S3_ENDPOINT,
  region: process.env.S3_REGION,
  forcePathStyle: true,
  credentials: {
    accessKeyId: process.env.S3_ACCESS_KEY_ID!,
    secretAccessKey: process.env.S3_SECRET_ACCESS_KEY!,
  },
});

await s3.send(
  new PutObjectCommand({ Bucket: process.env.S3_BUCKET, Key: "fotos/1.jpg", Body: arquivo }),
);

Envio direto do navegador funciona com URL assinada (o bucket aceita CORS de qualquer origem para GET, HEAD, PUT, POST e DELETE).

Leitura pública

Todo bucket nasce privado. Abrir leitura pública (Dono ou Administrador) deixa qualquer pessoa ler os arquivos pelo endereço público; depois, clique em Gravar S3_ de novo para a variável S3_PUBLIC_URL entrar. Fechar leitura pública desfaz. Domínio próprio para bucket público ainda não existe.

Arquivos, chaves e cotas

  • Arquivos abre o navegador do bucket: enviar, criar pasta, baixar e apagar.
  • Mostrar chaves mostra as credenciais (fica no histórico). Trocar chave invalida a antiga na hora.
  • Cota por bucket: Free 1 bucket de 1 GB, Pro 5 de 10 GB, Scale 20 de 50 GB. Envio que passaria da cota é recusado. O uso é medido a cada hora.

Se a página disser que o storage ainda não foi ligado, o recurso ainda não está disponível na plataforma.