S3 で指定したパス以下の総容量を計算する

Amazon S3 の Java SDK で指定したパス以下の総容量を計算する方法です。

    AmazonS3Client client = new AmazonS3Client(new AWSCredentials() {
      @Override
      public String getAWSSecretKey() {
        return awsSecretKey;
      }

      @Override
      public String getAWSAccessKeyId() {
        return awsAccessKey;
      }
    });
    ObjectListing listObjects = client.listObjects("sample_backet", "data/test");

    List<S3ObjectSummary> objectSummaries = listObjects.getObjectSummaries();
    long size = 0;
    for (S3ObjectSummary summary : objectSummaries) {
      size += summary.getSize();
    }

この例の場合は、sample_bucket バケットの data/test 以下のすべてのファイルの容量を算出できます。