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

Jor*_*dan 6 java amazon-s3 amazon-web-services aws-sdk s3-bucket

我正在尝试找到一种更快的方法来使用 Amazon 的 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;
}
Run Code Online (Sandbox Code Playgroud)

然而,这种方法非常慢,我还没有找到正确的方法。我找到了另一个有帮助的答案,但无法准确地弄清楚实现方式。 getObjectSummaries 能否获取存储在 S3 存储桶中的对象数量?

如何在当前的实现中使用getNextMarker()函数?我需要改变什么?