[英]How to list AWS S3 objects and versions in a versioned bucket using Java
我想檢索一個版本化存儲桶中所有對象的列表,以及它們在列表中的版本,類似於AWS S3 Console的工作方式:
我可以使用此 SO問題的建議列出非版本化存儲桶中的對象。 但是,由於S3ObjectSummary
包含版本控制信息,因此如何將它們與版本ID一起列出還不是很清楚。 單獨調用版本控制方法,然后嘗試將它們與S3ObjectSummary
包含的信息放在一起似乎很麻煩。
這似乎是到目前為止我能找到的最接近的答案:
http://docs.aws.amazon.com/AmazonS3/latest/dev/list-obj-version-enabled-bucket.html
相關代碼段在這里:
ListVersionsRequest request = new ListVersionsRequest()
.withBucketName(bucketName)
.withMaxResults(2);
// you can specify .withPrefix to obtain version list for a specific object or objects with
// the specified key prefix.
VersionListing versionListing;
do {
versionListing = s3client.listVersions(request);
for (S3VersionSummary objectSummary :
versionListing.getVersionSummaries()) {
System.out.println(" - " + objectSummary.getKey() + " " +
"(size = " + objectSummary.getSize() + ")" +
"(versionID= " + objectSummary.getVersionId() + ")");
}
request.setKeyMarker(versionListing.getNextKeyMarker());
request.setVersionIdMarker(versionListing.getNextVersionIdMarker());
} while (versionListing.isTruncated());
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.