如何提取我的 AWS S3 存储桶或目录的所有文件夹的列表?

如何提取我的 AWS S3 存储桶或目录的所有文件夹的列表?

亚马逊是否提供了一种简单的方法,可以从 s3 存储桶中提取包含大于 500 MB 的文件的所有文件夹的列表?还想将范围限制在“/files/ftp_upload/”目录中,这样我就可以计算我的成本等。

我试过这个,但没有得到太多帮助

aws s3 ls s3://YOUR_BUCKET/YOUR_FOLDER/ --recursive --human-readable --summarize

这里最好的方法是什么?

答案1

S3 没有“文件夹”的概念,控制台仅通过在正斜杠(“/”)上拆分对象键来在控制台中显示文件夹之类的数据。因此,按“文件夹”汇总数据需要解析每个对象的键。

您可以提取与您的键前缀匹配的对象的所有数据,然后执行一些逻辑和数学运算将它们加在一起,但这需要大量工作。

如果您不需要实时数据,S3 Inventory 可能是一个很好的解决方案。基本上,您会以以下三种格式之一获得指定 S3 存储桶输出中的对象列表:CSV、Apache ORC 或 Apache Parquet。然后,您可以根据数据进行更轻松的计算。

S3 Inventory 的缺点是需要一天左右的时间才能获得报告,而且不是实时的。

https://docs.aws.amazon.com/AmazonS3/latest/userguide/storage-inventory.html

-- 如果您正在寻找一种更简单的成本管理方法,您可能希望使用每个 S3 存储桶来分解用例。然后,您可以在存储桶级别使用成本分配标签。

此外,S3 利用率报告有助于确定您是否应该使用不同的存储类。

相关内容