我有一个名为camera-assets
的S3存储桶,在该存储桶中,每个摄像头都有一个单独的文件夹,每个文件夹包含数百万/十亿个文件。我想在我的存储桶中获取每个文件夹的总数量和存储空间。
我尝试了以下CLI命令:
aws s3api list-objects --bucket camera-assets --prefix 1011-front-external/snapshots/ --output json --query "[sum(Contents[].Size), length(Contents[])]"
但未能得到结果,因为文件夹有数百万/十亿的文件。如果只有几个文件,它就可以工作。
请帮助我获取文件数和存储量。
答案 0 :(得分:5)
AWS命令行界面工具具有--recursive
选项(必须与$ aws s3 ls s3://camera-assets --summarize --recursive
...
Total Objects: xx
Total Size: xx
一起使用),其中显示了对象的数量和数量。总大小:
public override List<Job> GetJobs(List<B> bs) {
return bs.Select(b => new BuildJob(a, b)).Cast<Job>().ToList();
}
答案 1 :(得分:0)
我没有一个包含您的数据量的存储桶,但我发现s4cmd在过去非常好
您可以将命令作为
运行$ s4cmd du s3://camera-assets
$ s4cmd du s3://camera-assets/1011-front-external/snapshots/
您可以做的是查看cloudwatch - 选择S3指标,为每个存储桶提供2个指标: - NumberOfObjects - NumberOfObjects
好处是你会看到它是如何随着时间的推移而发展的 - 缺点是它只在桶级别,所以你不能达到文件夹级别。