我能够获取启用版本的 S3 存储桶中存在的文件的所有版本,但生成的下载 URL 仅下载最新版本。那么如何使用 Java 下载一个文件的所有版本呢?
最佳答案
您可以使用ListVersionsRequest来实现这一点和 VersionListing
首先创建请求,
ListVersionsRequest request = new ListVersionsRequest()
.withBucketName(bucketName)
.withMaxResults(2);
现在您可以调用listVersions()使用您的 AmazonS3 客户端,这将返回 VersionListing
作为响应。
versionListing = s3client.listVersions(request);
如documentation states , 如果版本列表不完整,versionListing
上的 isTruncated()
将返回 true
,这表明需要额外调用 AWS S3 才能获取完整版本列表结果。
此外,响应将包含下一个 key 生成器,您可以将其设置为请求并循环,直到 isTruncated()
为 false
。
这是完整的 code example来自AWS
关于java - 如何下载或获取 S3 存储桶中存在的文件的各个版本的 URL?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44474492/