首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何获取带有版本控制的S3存储桶中所有文件的大小?

如何获取带有版本控制的S3存储桶中所有文件的大小?
EN

Stack Overflow用户
提问于 2017-04-01 06:28:26
回答 2查看 9.6K关注 0票数 8

我知道这个命令可以提供存储桶中所有文件的大小:

代码语言:javascript
复制
aws s3 ls mybucket --recursive --summarize --human-readable

但这并没有考虑到versioning

如果我运行此命令:

代码语言:javascript
复制
aws s3 ls s3://mybucket/myfile --human-readable

它将显示类似于"100 MiB“的内容,但它可能有该文件的10个版本,这将更像是"1 GiB”总数。

最接近的方法是获取给定文件的每个版本的大小:

代码语言:javascript
复制
aws s3api list-object-versions --bucket mybucket --prefix "myfile" --query 'Versions[?StorageClass=`STANDARD`].Size' > /tmp/s3_myfile_version_sizes

然后取所有版本大小的总和。

但我必须为存储桶中的每个文件重新运行此命令。

有没有更简单的方法来做这件事?

EN

回答 2

Stack Overflow用户

发布于 2017-04-01 19:37:20

您可以在存储桶上整体运行list-object-versions

代码语言:javascript
复制
aws s3api list-object-versions --bucket my-bucket --query 'Versions[*].Size'

使用jq总结一下:

代码语言:javascript
复制
aws s3api list-object-versions --bucket my-bucket --query 'Versions[*].Size' | jq add

或者,如果您需要人类可读的输出:

代码语言:javascript
复制
aws s3api list-object-versions --bucket my-bucket --query 'Versions[*].Size' | jq add | numfmt  --to=iec-i --suffix=B

你也可以添加一个前缀,以防你想知道一个给定的“文件夹”的大小,也许还能得到版本对象的数量:

代码语言:javascript
复制
aws s3api list-object-versions --bucket my-bucket --prefix my-folder --query 'Versions[*].Size' | jq 'length|add'

或者,您可以使用jq过滤来编写更复杂的过滤器,例如,仅包含非当前对象:

代码语言:javascript
复制
aws s3api list-object-versions --bucket my-bucket --prefix my-folder | jq '[.Versions[]|select(.IsLatest == false)|.Size] | length,add'

如果jq不可用,不幸的是,使用--output text选项会导致制表符分隔的值,所以这里有一个技巧,强制它分隔行,然后将总相加

代码语言:javascript
复制
aws s3api list-object-versions --bucket my-bucket --query 'Versions[*].[Size,Size]' --output text  | awk '{s+=$1} END {printf "%.0f", s}'

如果您有大量对象,使用Amazon S3 Storage Inventory提供的数据可能更好

亚马逊 S3 inventory每天或每周为S3存储桶或共享前缀(即名称以公共字符串开头的对象)提供对象及其相应元数据的逗号分隔值(CSV)平面文件输出。

票数 8
EN

Stack Overflow用户

发布于 2018-03-16 14:10:33

使用CloudWatch,它将给出所有版本控制的结果。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43150572

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档