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

@iwasaki 1,072views 更新:2014年3月25日

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");
    }

ログイン / 新規登録してコメントする

このソースコードをストックして後で利用したり、作業に利用したソースコードをまとめることができます。

こちらもお役に立つかもしれません