我正在AWS S3使用 Scala计算存储桶中的对象数量,如下所示:
val reqAws:ListObjectsV2Request = new ListObjectsV2Request().withBucketName(awsBucketName).withPrefix(prefixForAws);
var resultAws:ListObjectsV2Result = null;
var totalFilesInAws:Int = 0;
do {
resultAws = awsS3Client.listObjectsV2(reqAws);
val summariesForAws:java.util.List[S3ObjectSummary] = resultAws.getObjectSummaries()
totalFilesInAws = totalFilesInAws + summariesForAws.size().toInt
val token:String = resultAws.getNextContinuationToken();
reqAws.setContinuationToken(token);
} while (resultAws.isTruncated());
但是,它也为我count提供了那些不包含任何对象的前缀。
例如,如果我的前缀是a/b/c并且我的 S3 具有以下结构:
bucketName/a/b/c/d/obj1
bucketName/a/b/c/e/obj2
bucketName/a/b/c/f/
现在,在这里我们可以看到a/b/c/f没有对象,但a/b/c/d并a/b/c/e没有有对象,所以count应该是2,但我的代码使计为3。
如何修改我的代码以获得正确的count?
元芳怎么了
慕斯709654
相关分类