Los ids de objeto son opacos (
pub/..., prv/...). Guárdalos tal como se devuelven, nunca los construyas ni los analices, y reemplaza el id que tengas guardado siempre que update() devuelva uno nuevo. Consulta IDs de objeto.Listar
list() es un async generator que sigue el cursor a través de todas las páginas. El orden no está garantizado.
listPage() obtiene una sola página. Úsalo para la paginación manual o para obtener folders:
Una página tiene
objects, folders (solo con delimiter) y continuationToken (ausente en la última página). Cada objeto listado tiene id, size, created_at, expires_at, private, url y etag. Consulta Object List.
Detalles de un objeto
id, size, content_type, etag, created_at, expires_at, private, url, cache_control, content_disposition, original_name, metadata y legacy. Consulta Object Info.
created_at es la fecha de última modificación en el almacenamiento: una actualización que copia el objeto (visibilidad, expiración, encabezados) la reinicia.Enlaces de descarga
- Un objeto público recibe su URL permanente del CDN, con
expires_at: null. - Un objeto privado, o cualquier llamada con
dispositionofilename, recibe un enlace temporal que duraexpiressegundos (hasta 24 horas).
El resultado tiene
url, expires_at, private, size y content_type. Consulta Object Download.
Actualizar objetos
update() cambia la visibilidad, la expiración, la caché, la disposición o los metadatos de un objeto o de hasta 50. Siempre devuelve un array, un resultado por objeto, y cada resultado indica su propio éxito en ok.
Un resultado correcto (
ok: true) tiene object (el id que enviaste), changed, id (el id después del cambio), private, url, expires_at y size. Un resultado fallido (ok: false) tiene object y code. Un lote no lanza errores por los fallos de objetos individuales. Consulta Object Update.
Eliminar
La eliminación es inmediata y permanente: no hay papelera.
Con un único id dentro de un array, el SDK sigue devolviendo
{ deleted, not_found, failed }: un objeto inexistente va a not_found, y DELETE_FAILED o PREFIX_NOT_ALLOWED van a failed en lugar de lanzar un error. Cualquier otro error (autenticación, límite de tasa, red) sigue lanzándose. Consulta Delete Objects.
Copiar, mover y renombrar
Ambas operaciones se ejecutan en el servidor, sin descargar el archivo.move(source, destination, options) es copy() con move: true.
El resultado tiene
id, private, url, expires_at, size, source, moved y replaced. Consulta Object Copy.
update(), delete(), copy() y move() son escrituras: tienen un único intento y nunca se reintentan. Consulta Política de reintentos.
