Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/amazon-web-services/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/amazon-s3/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Amazon web services 如何获取S3 bucket上每个文件夹的总对象和总存储空间_Amazon Web Services_Amazon S3 - Fatal编程技术网

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