如何使用Java计算S3存储桶中的对象总数?

时间:2017-08-23 20:56:47

标签: java amazon-web-services amazon-s3 aws-sdk s3-bucket

我正在尝试使用亚马逊的AWS SDK更快地计算s3存储桶中的所有对象。

private static int getBucketFileCount(AmazonS3 s3, ListObjectsV2Request req) {
   ListObjectsV2Result result;
   int fileCount = 0;
   log.info("Counting s3 files");

   do {
      result = s3.listObjectsV2(req);
      for (S3ObjectSummary objectSummary : result.getObjectSummaries()) {
         fileCount++;
      }
      req.setContinuationToken(result.getNextContinuationToken());

   } while (result.isTruncated() == true);
       return fileCount;
}

然而,这种方法非常慢,我无法找到正确的方法。我找到了另一个有帮助的答案,但无法确切地弄清楚实现。 Will getObjectSummaries get the count of objects stored in a S3 Bucket?

如何在当前实施中使用getNextMarker()功能?我需要改变什么?

0 个答案:

没有答案