【发布时间】:2021-06-25 12:42:35
【问题描述】:
我想使用 software.amazon.awssdk.s3 v2 删除具有给定密钥的对象的所有版本。
到目前为止,我发现没有这样的deleteAllVersions(key),您必须获取对象的所有 versionId 并迭代并删除每个版本。
下一个障碍是,没有这样的listAllVersions(key),只有listAllVersions(prefix)。所以如果我想listAllVersions("a")对象“a”的前缀“a”作为过滤器,我也会得到所有版本的“aa”、“ab”、“ac”等等。
现在可以迭代忽略所有不具有精确键“a”的对象。但是如何处理截断的响应呢?
如何删除具有特定键的对象的所有版本,包括标记为已删除的版本?
【问题讨论】:
-
docs.aws.amazon.com/AmazonS3/latest/API/… Java SDK不支持吗?
-
@Ninad Gaiwad:这是列出版本。部分问题是,如何获取特定密钥的所有版本的完整列表。由于请求似乎按它们存储的顺序返回对象,并且您不能按键过滤(仅按前缀),我不知道如何确保获得完全“a”的所有版本。