首页 > 解决方案 > AWS S3 Java SDK - ListVersionsRequest 仅获取最新版本

问题描述

有没有办法指定只在ListVersionsRequest中包含每个对象的最新版本?我需要版本值,所以一个简单的AmazonS3Client.listObjects(...)是不够的,因为S3ObjectSummary没有版本信息。

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

谢谢

标签: javaamazon-s3aws-java-sdk

解决方案


我只看到两个选项:

  1. 做你所描述的并列出你拥有的所有数据版本。之后,您将获得一个按版本控制顺序排列的列表,因此您需要知道何时停止检查版本。我认为这可以通过迭代版本列表并在第一个返回 false ref的 islatest() 调用处停止来完成

  2. 您可以列出对象,然后获取包含版本 ID 的每个对象的对象摘要。


推荐阅读