我知道我们可以使用以下命令轻松地计算S3存储桶中的对象总数,但是如何获取S3存储桶中各个文件夹中的对象计数呢?
aws s3 ls s3://mybucket/ --recursive | wc -l
例如,如果存储桶具有如下所示的子文件夹,我想知道每个日期文件夹中的对象数
~$aws s3 ls s3://mybucket/
PRE 2019-01-01/
PRE 2019-01-02/
PRE 2019-01-03/
PRE 2019-01-04/
答案 0 :(得分:0)
您可以使用类似以下Python3脚本的内容:
import boto3
from pathlib import Path
s3_resource = boto3.resource('s3', region_name='ap-southeast-2')
folders = {}
bucket = s3_resource.Bucket('my-bucket')
for object in bucket.objects.all():
path = Path(object.key).parent
folders[path] = folders.get(path, 0) + 1
for folder in folders:
print(folder, folders[folder])