Java Amazon SDK 2.x 相当于 1.x“S3Objects”实用程序类

问题描述 投票:0回答:1

我正在迁移一个 Java 项目,该项目使用 AWS SDK 1.x 在 S3 中延迟列出和迭代对象。

S3Objects iterableS3Objects = S3Objects.withPrefix(amazonS3, myBucketName, myPrefix);

for (S3ObjectSummary s3ObjectSummary : iterableS3Objects) {
...
}

我正在 AWS SDK for Java 2.x 中寻找类似的功能。有类似的功能吗

我看到在S3Client中有一个“listObjectsV2”方法,并且我可以在那里指定一个前缀,这就是我正在寻找的吗?是否有一种内置方法可以使用它来延迟获取下一批,或者我需要自己构建该功能?

java amazon-s3 aws-sdk-java-2.0 aws-sdk-java
1个回答
0
投票

在对另一个问题提出后续评论后,我被引导到这个答案,其中包括我正在寻找的内容。

您使用 ListObjectsV2Request 对象,它允许您延迟迭代 s3 存储桶中的对象。

ListObjectsV2Iterable response = s3Client.listObjectsV2Paginator(request);

for (ListObjectsV2Response page : response) {
    for (S3Object s3Object : s3ObjectBatch.contents()) {
    ...
    };
}
© www.soinside.com 2019 - 2024. All rights reserved.