我知道此命令可以提供存储桶中所有文件的大小:
aws s3 ls mybucket --recursive --summarize --human-readable
Run Code Online (Sandbox Code Playgroud)
但这不考虑版本控制。
如果我运行这个命令:
aws s3 ls s3://mybucket/myfile --human-readable
Run Code Online (Sandbox Code Playgroud)
它将显示类似“100 MiB”的内容,但它可能有此文件的 10 个版本,总共更像是“1 GiB”。
我最接近的是获取给定文件的每个版本的大小:
aws s3api list-object-versions --bucket mybucket --prefix "myfile" --query 'Versions[?StorageClass=`STANDARD`].Size' > /tmp/s3_myfile_version_sizes
Run Code Online (Sandbox Code Playgroud)
然后取所有版本大小的总和。
但是我必须为存储桶中的每个文件重新运行此命令。
有没有更简单的方法来做到这一点?