【问题标题】:Calculate size of folders inside S3 bucket计算 S3 存储桶内文件夹的大小
【发布时间】:2017-07-14 22:37:49
【问题描述】:

我的 AWS 账户中有一个名为“mybuckettest”的存储桶。在此存储桶中,我有多个文件夹,例如“Folder1”、“Folder2”、“Folder3”。在每个文件夹中,我也有子文件夹。可以模拟如下:

mybuckettest
    Folder1
        subfolder1
             content1
             content2
             content3
             content4
        subfolder2
             content1
    Folder2
        subfolder1
    Folder3
        subfolder1
             content1
             content2

我正在尝试分别计算每个文件夹“Folder1”、“Folder2”、“Folder3”的大小。有什么特定的方法可以使用 API 做到这一点吗?我的意思是我正在尝试构建一个我想要通过它执行此操作的应用程序。有人对此有想法吗?我的应用程序语言是 Python-Django。

【问题讨论】:

    标签: python amazon-web-services amazon-s3


    【解决方案1】:
    Folder1
        subfolder1
             content1
    

    就在名为Folder1/subfolder1/content1的键上。
    如果您知道所有键,则只需将它们的所有 Content-Length 添加到 GET Object;否则,您可以通过GET Bucket (List Objects) Version 2prefixRequest 中获取相同prefix(eg: Folder1) 中的所有密钥信息,然后将它们全部添加到Size

    【讨论】:

    • 你的意思是说我们应该列出Folder1里面的所有对象和子文件夹,然后计算所有对象的总大小吗?
    • 不,如果你想计算所有前缀为Folder1的key的大小,你可以使用GET /?list-type=2&max-keys=3&prefix=Folder1得到最多3个前缀为Folder1的key,就像@987654323中的Example 2: Listing Keys Using the max-keys, prefix, and start-after Parameters @`
    • 好吧..让我检查一下..一旦我得到预期的结果,我会接受答案。否则,我会提出任何疑问。谢谢你现在:)
    【解决方案2】:

    另一种方法是使用Amazon S3 Storage Inventory,它可以提供您的 Amazon S3 存储桶内容的每日 CSV 文件。

    然后您可以使用简单的 Python 脚本解析此文件,而不是调用 API 列表调用。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-05-25
      • 1970-01-01
      • 2018-09-20
      • 2021-12-02
      • 2016-06-22
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多