列出对象
list() 是一个异步生成器,会沿着游标遍历每一页。不保证顺序。
listPage() 获取单页数据。可用于手动分页或获取 folders:
一页包含
objects、folders(仅在使用 delimiter 时)和 continuationToken(最后一页中不存在)。每个列出的对象都有 id、size、created_at、expires_at、private、url 和 etag。参见 Object List。
对象详情
id、size、content_type、etag、created_at、expires_at、private、url、cache_control、content_disposition、original_name、metadata 和 legacy。参见 Object Info。
created_at 是存储的最后修改时间:复制对象的更新操作(可见性、过期时间、请求头)会重置它。下载链接
- 公开对象获得其永久 CDN URL,
expires_at: null。 - 私有对象,或任何带有
disposition或filename的调用,会获得一个有效期为expires秒(最长 24 小时)的临时链接。
结果包含
url、expires_at、private、size 和 content_type。参见 Object Download。
更新对象
update() 更改一个或最多 50 个对象的可见性、过期时间、缓存、disposition 或元数据。它始终返回一个数组,每个对象一个结果,每个结果在 ok 中报告自身是否成功。
成功的结果(
ok: true)包含 object(你发送的 ID)、changed、id(更改后的 ID)、private、url、expires_at 和 size。失败的结果(ok: false)包含 object 和 code。批量操作不会因单个对象的失败而抛出异常。参见 Object Update。
删除
删除是立即且永久的:没有回收站。
对于放在数组中的单个 ID,SDK 仍然返回
{ deleted, not_found, failed }:不存在的对象会进入 not_found,DELETE_FAILED 或 PREFIX_NOT_ALLOWED 会进入 failed,而不是抛出异常。其他任何错误(身份验证、速率限制、网络)仍会抛出。参见 Delete Objects。
复制、移动和重命名
两者都在服务器端执行,无需下载文件。move(source, destination, options) 等同于带有 move: true 的 copy()。
结果包含
id、private、url、expires_at、size、source、moved 和 replaced。参见 Object Copy。
update()、delete()、copy() 和 move() 是写操作:它们只有一次尝试,永远不会被重试。参见重试策略。
