S3から再帰的にコンテンツを取得する方法

listObjectsでは最大1000件までしか一度に取得できないため、再帰的に取得するようにする必要があります。

    try {
      ObjectListing listObjects = s3.listObjects(BACKEAT, key);
      do {
        List<S3ObjectSummary> objectSummaries =
          listObjects.getObjectSummaries();
        for (S3ObjectSummary summary : objectSummaries) {
            System.out.printf(summary.getBucketName());
        }
        listObjects = s3.listNextBatchOfObjects(listObjects);
      } while (listObjects.getMarker() != null);
    } catch (AmazonServiceException ace) {
      throw new RuntimeException("error");
    } catch (AmazonClientException ace) {
      throw new RuntimeException("error");
    }