s3桶中文件夹的大小

Str*_*ger 4 php amazon-s3

我正在研究亚马逊s3水桶.我需要通过代码找到桶内文件夹的大小.我没有找到任何方法直接找到文件夹的大小.那么有没有其他方法来实现这个功能?

编辑:我知道s3存储桶中没有任何文件夹.但我需要找到所有文件的大小看起来像文件夹文件夹结构.也就是说,如果结构是这样的,https://s3.amazonaws.com/****/uploads/storeeoll48jipuvjbqufcap3p6on6er2bwsufv5ojzqnbe01xvw0fy58x65.png那么我需要找到具有该结构的所有文件的大小,https://s3.amazonaws.com/****/uploads/...

jim*_*pic 5

来自 AwsConsoleApp.java AWS 开发工具包示例:

List<Bucket> buckets = s3.listBuckets();
long totalSize  = 0;
int  totalItems = 0;
for (Bucket bucket : buckets)
{
    ObjectListing objects = s3.listObjects(bucket.getName());
    do {
        for (S3ObjectSummary objectSummary : objects.getObjectSummaries()) {
            totalSize += objectSummary.getSize();
            totalItems++;
        }
        objects = s3.listNextBatchOfObjects(objects);
    } while (objects.isTruncated());
    System.out.println("You have " + buckets.size() + " Amazon S3 bucket(s), " +
                    "containing " + totalItems + " objects with a total size of " + totalSize + " bytes.");
}
Run Code Online (Sandbox Code Playgroud)


sul*_*abh 5

如果你想在python中使用boto,这是一个你可以尝试的小脚本:

import boto
conn=boto.connect_s3('api_key','api_secret')
bucket=conn.get_bucket('bucketname');
keys=bucket.list('path')
size=0
for key in keys:
        size+= key.size
print size
Run Code Online (Sandbox Code Playgroud)