使用Python boto3获取S3中每个文件夹和子文件夹的大小

使用Python boto3获取S3中每个文件夹和子文件夹的大小,python,amazon-web-services,amazon-s3,aws-lambda,boto3,Python,Amazon Web Services,Amazon S3,Aws Lambda,Boto3,我正在编写一个python3 lambda函数,使用boto3获得s3存储桶中每个文件夹和子文件夹的总大小。以下是文件的存储方式: http://s3/bucket Folder1 Folder1.1 Item1.1.1 Item1.1.2 Folder1.2 Item1.2.1 ... Folder2 Folder2.1

我正在编写一个python3 lambda函数,使用boto3获得s3存储桶中每个文件夹和子文件夹的总大小。以下是文件的存储方式:

http://s3/bucket 
    Folder1
        Folder1.1
            Item1.1.1
            Item1.1.2
         Folder1.2
             Item1.2.1
        ...
    Folder2
        Folder2.1
            Item2.1.1
        ...
我需要得到每个文件夹和子文件夹的大小。从我在研究过程中所看到的情况来看,唯一的方法似乎是获取每个文件夹中每个文件的大小,以及每个文件夹的子文件夹中的文件大小。。。把它们加起来。这是非常低效的…特别是因为每个子文件夹有成千上万的文件,每个文件夹有50多个子文件夹,还有20多个文件夹

我应该如何完成这项任务?对不起,如果我在这里使用了任何不正确的术语。如果我说错了什么,请纠正我。我一边学习,一边工作

提前感谢;非常感谢您的帮助

我建议您使用

它可以提供一个每日CSV文件,其中包含bucket中每个对象的列表


您的程序将需要解析CSV文件并执行计算,但这将比对Amazon S3进行API调用快得多。

没有直接的方法。为此,您需要浏览每个文件夹和子文件夹。查看更多详细信息