如何列出一个桶使用Java在所有AWS S3对象对象、Java、AWS

2023-09-11 23:38:28 作者:荒年 Memory

什么是让中使用Java的S3存储的所有项目名单的最简单的方法是什么?

What is the simplest way to get a list of all items within an S3 bucket using Java?

List<S3ObjectSummary> s3objects = s3.listObjects(bucketName,prefix).getObjectSummaries();

这个例子只返回1000个项目。

This example only returns 1000 items.

推荐答案

这可能是一种解决方法,但这个解决我的问题:

It might be a workaround but this solved my problem:

ObjectListing listing = s3.listObjects( bucketName, prefix );
List<S3ObjectSummary> summaries = listing.getObjectSummaries();

while (listing.isTruncated()) {
   listing = s3.listNextBatchOfObjects (listing);
   summaries.addAll (listing.getObjectSummaries());
}