注意事项
1. 根据清单中是否包含了对象的 versionid,决定了执行批量删除任务时发起的删除请求是否携带 versionid:
当清单仅保留当前版本时,会执行不带 versionid 的删除操作,即
DELETE /example.txt
当清单列出历史版本时,会执行带 versionid 的删除操作,即
DELETE /example.txt?versionid=xxx
2. 存储桶处于未开启、暂停、开启版本控制三种不同的状态时,不带 versionid 的删除操作会有不同的执行结果,带 versionid 的删除则会保证真实删除对象,详情可参考 版本控制概述。不同情况下,批量删除对象的执行结果如下:
操作 | 清单1(仅保留当前版本) | 清单2(列出历史版本) |
删除操作 | 不带 versionid | 带 versionid |
未开启版本控制 | 真实删除 | 真实删除 |
已开启版本控制 | 添加删除标记,不会真实删除 | 根据 versionid 真实删除 |
暂停版本控制 | 添加删除标记,若存储桶中有 null 版本对象,该对象将被真实删除,非 null 版本对象不会被删除 | 根据 versionid 真实删除 |