AWS S3 Java SDK - ListVersionsRequest 仅获取最新版本

AWS S3 Java SDK - ListVersionsRequest Get Only Latest Versions

有没有办法指定只包含每个对象的最新版本ListVersionsRequest? I need the version value, so a simple AmazonS3Client.listObjects(...) will not suffice because S3ObjectSummary没有版本信息

我正在创建一个实用程序,它为版本化存储桶中的所有对象对 S3 执行 ping 操作,并将最新版本值与该实用程序已经跟踪的内容进行比较。我现在能想到的唯一解决方案就是做 AmazonS3Client.listVersions(...), iterate through the S3VersionSummary 列表,处理第一个最新版本,然后手动迭代并跳过对象的所有旧版本,直到它到达新密钥。这是最好的解决方案吗?

谢谢

link 到 ListVersionsRequest 中指定的 listVersions 中的 return 指示以下...

并且版本按从最新到最不最新的顺序排序。

因此询问特定 s3 密钥的版本,列表中的第一个结果是最新版本。

我只看到两个选项:

  1. 按照您的描述操作并列出您拥有的数据的所有版本。之后您将获得一个按版本顺序排列的列表,因此您需要知道何时停止检查版本。我认为这可以通过遍历版本列表并在第一个 returns false ref

  2. 调用时停止来完成
  3. 您可以列出对象,然后获取每个对象的对象摘要,其中将包含版本 ID。

handle the first most recent version then manually iterate and skip all older versions of an objet until it gets to the new key

您可以简单地使用 isLatest(), available in S3VersionSummary

而不是那样做