Amazon S3にすべてのタイプのファイルを保存しています。Amazon S3 バケットでは、すべてのファイルが異なるフォルダーに保存されます。Amazon s3 にはフォルダーの概念がないことはわかっています。オブジェクトはキーによってのみ識別されます。「mydocs/personal/profile-pic.jpg」のようなキーを持つファイルを保存すると、2 つの親フォルダー (mydocs フォルダー内の個人フォルダー) がそこに作成されます。
Javaの「mydocs」のようなフォルダーのサイズを計算したい。以下のコードを使用して、バケットの合計サイズを計算しました。
public long calculateBucketSize(String bucketName) {
long totalSize = 0;
int totalItems = 0;
ObjectListing objects = listObjects(bucketName);
do {
for (S3ObjectSummary objectSummary : objects.getObjectSummaries()) {
totalSize += objectSummary.getSize();
totalItems++;
}
objects = listNextBatchOfObjects(objects);
} while (objects.isTruncated());
System.out.println("Amazon S3 bucket: " + bucketName + " containing "
+ totalItems + " objects with a total size of " + totalSize
+ " bytes.");
return totalSize;
}
このメソッドは、バケットの合計サイズを返します。単一のフォルダーのサイズを計算したい。どんな助けでも大歓迎です。