【问题标题】:How to determine s3 folder size?如何确定 s3 文件夹大小?
【发布时间】:2020-03-30 11:33:45
【问题描述】:

我有一堆用于不同项目/客户的 s3 文件夹,我想估计总大小(例如,我可以考虑减少大小/成本)。确定这一点的好方法是什么?

【问题讨论】:

标签: amazon-web-services amazon-s3


【解决方案1】:

我可以结合使用 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' 是快速获取小计大小的绝佳方式。谢谢!
【解决方案2】:

here 所述,AWS CLI 原生支持 --query 参数,可以确定 S3 存储桶中每个对象的大小。

 aws s3api list-objects --bucket BUCKETNAME --output json --query "[sum(Contents[].Size), length(Contents[])]"

希望对你有帮助。

【讨论】:

    【解决方案3】:

    如果你想通过控制台检查。

    1. 如果您按文件夹而不是存储桶提及文件夹,则只需选择该对象,转到“操作”下拉菜单并选择“获取总大小”
    2. 如果您的意思是按文件夹存储桶,则转到管理选项卡,然后转到指标,它将显示整个存储桶大小

    【讨论】:

      猜你喜欢
      • 2012-06-16
      • 2015-07-09
      • 1970-01-01
      • 2018-09-20
      • 1970-01-01
      • 2016-08-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多