Skip to main content
Os ids de objetos são opacos (pub/..., prv/...). Armazene-os como retornados, nunca os monte nem os interprete, e substitua o id armazenado sempre que update() retornar um novo. Veja Ids de objetos.

Listagem

list() é um async generator que segue o cursor por todas as páginas. A ordem não é garantida.
listPage() busca uma página. Use-o para paginação manual ou para obter folders:
Uma página tem objects, folders (apenas com delimiter) e continuationToken (ausente na última página). Cada objeto listado tem id, size, created_at, expires_at, private, url e etag. Veja Listar objetos.

Detalhes do objeto

Retorna id, size, content_type, etag, created_at, expires_at, private, url, cache_control, content_disposition, original_name, metadata e legacy. Veja Informações do objeto.
created_at é o horário da última modificação no armazenamento: uma atualização que copia o objeto (visibilidade, expiração, headers) o redefine.
  • Um objeto público recebe sua URL permanente da CDN, com expires_at: null.
  • Um objeto privado, ou qualquer chamada com disposition ou filename, recebe um link temporário que dura expires segundos (até 24 horas).
Um link temporário não pode ser revogado. Para links revogáveis, protegidos por senha ou com limite de downloads, use um compartilhamento.
O resultado tem url, expires_at, private, size e content_type. Veja Download do objeto.

Atualizando objetos

update() altera a visibilidade, a expiração, o cache, a disposition ou os metadados de um objeto ou até 50. Ele sempre retorna um array, um resultado por objeto, e cada resultado informa seu próprio sucesso em ok.
Um resultado bem-sucedido (ok: true) tem object (o id que você enviou), changed, id (o id após a alteração), private, url, expires_at e size. Um resultado com falha (ok: false) tem object e code. Um lote não lança erro por falhas individuais de objetos. Veja Atualizar objeto.

Excluindo

A exclusão é imediata e permanente: não há lixeira.
Com um único id dentro de um array, o SDK ainda retorna { deleted, not_found, failed }: um objeto inexistente vai para not_found, e DELETE_FAILED ou PREFIX_NOT_ALLOWED vão para failed em vez de lançar erro. Qualquer outro erro (autenticação, rate limit, rede) continua sendo lançado. Veja Excluir objetos.

Copiando, movendo e renomeando

Ambos rodam no servidor, sem baixar o arquivo.
move(source, destination, options) é copy() com move: true. O resultado tem id, private, url, expires_at, size, source, moved e replaced. Veja Copiar objeto.
update(), delete(), copy() e move() são escritas: elas têm uma única tentativa e nunca são repetidas. Veja Política de novas tentativas.