5

我正在尝试找到一种更快的方法来使用 Amazon 的 AWS 开发工具包计算 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;
}

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

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

4

0 回答 0