如何查看存儲桶內的文件夾大小
更新時間 2023-11-13 15:27:26
最近更新時間: 2023-11-13 15:27:26
分享文章
本文介紹如何查看存儲桶內的文件夾大小。
可以使用SDK,指定文件夾路徑列舉所有文件夾下對象,獲取文件大小,再累加。
以java SDK舉例說明,查詢桶bucketA下文件夾fileFolder的總大小。
public static void main(String[] args) {
String endpoint ="";
String ak = ""; //訪問密鑰ID,可通過控制臺-密鑰管理獲取
String sk = "";//私有訪問密鑰,可通過控制臺-密鑰管理獲取
String bucketName = "bucketA";
String fileFolder = "fileFolder";
Long fileFolderSize = 0L;
AmazonS3ClientBuilder amazonS3ClientBuilder =AmazonS3ClientBuilder.standard();
AWSCredentials credentials = new BasicAWSCredentials(ak, sk);
ClientConfiguration clientConfiguration = new ClientConfiguration();
String signingRegion = "cn-north-1";
AwsClientBuilder.EndpointConfiguration endpointConfiguration = new AwsClientBuilder.EndpointConfiguration(endpoint, signingRegion);
AmazonS3 s3Client = amazonS3ClientBuilder.withCredentials(new AWSStaticCredentialsProvider(credentials))
.withClientConfiguration(clientConfiguration).withEndpointConfiguration(endpointConfiguration).build();
ListObjectsRequest req = new ListObjectsRequest();
req.setBucketName(bucketName);
req.setDelimiter("/");
req.setPrefix(fileFolder);
ObjectListing objectListing=s3Client.listObjects(req);
do{
for (S3ObjectSummary objectSummary : objectListing.getObjectSummaries()) {
fileFolderSize += objectSummary.getSize();
}
objectListing=s3Client.listNextBatchOfObjects(objectListing);
}while (objectListing.isTruncated());
System.out.println("文件夾大小為:" + fileFolderSize);
}