Amazon web services 如何获取S3 bucket上每个文件夹的总对象和总存储空间
我有一个名为Amazon web services 如何获取S3 bucket上每个文件夹的总对象和总存储空间,amazon-web-services,amazon-s3,Amazon Web Services,Amazon S3,我有一个名为camera assets的S3存储桶,在该存储桶中,我为每个摄像头设置了一个单独的文件夹,每个文件夹包含数百万/数十亿个文件。我想得到我的bucket中每个文件夹的文件总数和存储空间 我尝试了以下CLI命令: aws s3api list-objects --bucket camera-assets --prefix 1011-front-external/snapshots/ --output json --query "[sum(Contents[].Size), length
camera assets
的S3存储桶,在该存储桶中,我为每个摄像头设置了一个单独的文件夹,每个文件夹包含数百万/数十亿个文件。我想得到我的bucket中每个文件夹的文件总数和存储空间
我尝试了以下CLI命令:
aws s3api list-objects --bucket camera-assets --prefix 1011-front-external/snapshots/ --output json --query "[sum(Contents[].Size), length(Contents[])]"
但无法获取结果,因为文件夹中有百万/十亿个文件。如果只有几个文件,它就可以工作
请帮我获取文件计数和存储。我没有一个存储你大量数据的存储桶来尝试,但我发现在过去是相当不错的 您可以按以下方式运行命令:
$ s4cmd du s3://camera-assets
$ s4cmd du s3://camera-assets/1011-front-external/snapshots/
您还可以查看-选择S3指标,对于每个bucket,您有2个指标:
-物体数量
-物体数量
好处是您将看到它是如何随时间演变的-缺点是它仅处于存储桶级别,因此您无法通过文件夹级别获取。AWS命令行界面工具具有
--summary
选项(必须与--recursive
一起使用),其中显示了对象的数量和总大小:
$ aws s3 ls s3://camera-assets --summarize --recursive
...
Total Objects: xx
Total Size: xx
summary
(和其他ls参数)不使用默认的——页面大小(默认值为1000)吗?因此,如果ops文件夹中的文件超过1k,则无法确定它是否有效,这可能是一个bug,或者——页面大小
用于其他用途。在我的一个测试桶上有1000多个文件,总结起来很好:aws s3 ls s3://general-test-s3/--summary--recursive
<代码>对象总数:1541
如果文件超过1000个,请使用以下命令:aws s3 ls s3://摄影机资源--摘要--递归--页面大小999999