【发布时间】:2020-03-30 11:33:45
【问题描述】:
我有一堆用于不同项目/客户的 s3 文件夹,我想估计总大小(例如,我可以考虑减少大小/成本)。确定这一点的好方法是什么?
【问题讨论】:
-
子文件夹,还是只是顶级文件夹?
标签: amazon-web-services amazon-s3
我有一堆用于不同项目/客户的 s3 文件夹,我想估计总大小(例如,我可以考虑减少大小/成本)。确定这一点的好方法是什么?
【问题讨论】:
标签: amazon-web-services amazon-s3
我可以结合使用 Python 和 AWS 客户端来做到这一点:
import os
bucket_rows = os.popen('aws s3 ls').split(chr(10))
sizes = dict()
for bucket in bucket_rows:
buck = bucket.split(' ')[-1] # the full row contains additional information
cmd = f"aws s3 ls --summarize --human-readable --recursive s3://{buck}/ | grep 'Total'"
sizes[buck] = os.popen(cmd).read()
【讨论】:
aws s3 ls s3://bucket/path/to/data/ --summarize --human-readable --recursive | grep 'Total' 是快速获取小计大小的绝佳方式。谢谢!
如here 所述,AWS CLI 原生支持 --query 参数,可以确定 S3 存储桶中每个对象的大小。
aws s3api list-objects --bucket BUCKETNAME --output json --query "[sum(Contents[].Size), length(Contents[])]"
希望对你有帮助。
【讨论】:
如果你想通过控制台检查。
【讨论】: