对象存储:COS / OSS / S3
对象存储适合「盘不在身边、但密钥在自己账号里」的人。声明页写得很硬:应用无服务端,存储系统由用户自行选择。
表单里真正会存的字段
名称可自定义;provider 由入口决定、表单内只读。Bucket、endpoint、region、root、access key、secret key。改动 debounce 后自动 upsert。密钥走 iOS Keychain / Android EncryptedSharedPreferences,不是普通 SharedPreferences。
兼容 S3 协议的自建网关也能填,只要 list/put 行为接近。不要把临时 session token 当长期密钥存,除非你清楚过期时间。
索引长什么样
index/{deviceId}/manifest.json 加一份 index.sqlite。object key 与 iOS 对齐,所以第二个客户端指向同一桶时能认领。Android 一条 MediaStore 记录对应一条 resource,对不上 iOS 的 local_identifier,认领后按内容重新对应,不是「打开就能看到原相册结构 1:1」。
费用直觉
2026-03-08 按公开价目算过 214.7 GB 实库:COS 标准存储约 304 元/年。小文件 PUT 次数多,请求费存在,但通常仍小于存储费。若只是怕月费,USB 一次买断更简单,见对比案例。
失败时先看什么
- 地域填错会在第一次 list 时报签名或 301。
- 只开了 GET 没开 PUT 的子账号会在第一张照片处失败。
- 后台被系统杀掉后,进度不是丢了,是索引里未完成的那些还在。打开应用会继续。