Almacenamiento de objetos: COS, OSS, S3
El almacenamiento de objetos es para quien no llevará un disco pero sigue negándose a entregar originales a una empresa de fotos. La página de declaraciones in-app es directa: no hay servidor de Azalea; tú eliges el almacén.
Qué persiste de verdad el formulario
El nombre para mostrar es tuyo. Provider se elige en el punto de entrada y es de solo lectura en el formulario. Cubo, endpoint, región, root, access key, secret key. Los cambios hacen debounce y luego upsert. Los secretos van al Llavero de iOS o EncryptedSharedPreferences de Android, no a un archivo de prefs legible por todos.
Las pasarelas compatibles con S3 funcionan si list/put se comportan. No guardes un token de sesión de corta vida como si fuera una clave de larga vida salvo que conozcas la caducidad.
Los montajes en inglés que de verdad corrimos en abril 2026 usaron S3 Standard en us-west-2, no COS. Al cliente no le importa el proveedor, solo la firma y el diseño de keys.
Forma del índice
index/{deviceId}/manifest.json más index.sqlite. Las object keys coinciden con iOS, así que un segundo cliente apuntado al mismo cubo puede reclamarlo. Android mapea una fila de MediaStore a un recurso y no puede reutilizar los valores local_identifier de iOS. Tras un reclamo, el emparejado es por contenido, no una recreación 1:1 del viejo álbum Moments.
Comprobación de coste a ojo
A precios de lista del 8 mar 2026, 214,7 GB en S3 Standard eran unos 59 USD / año. El volumen PUT de decenas de miles de fijas es real pero suele quedar por debajo del almacenamiento. Si la factura es el miedo, un disco USB es la otra columna del caso de coste.
Lo primero que comprobar en un fallo
- Una región incorrecta aparece en el primer listado como error de firma o un 301.
- Un subusuario con GET pero sin PUT muere en la primera foto.
- Si el SO mata la tarea en segundo plano, el progreso no se pierde; las keys sin terminar se quedan en el índice. Abrir la app continúa.