除非我遗漏了什么,否则我所看过的所有api似乎都不会告诉您<S3 bucket>/<文件夹>中有多少对象。有办法统计一下吗?
当前回答
您可能会使用Amazon S3库存,它将在csv文件中为您提供对象列表
其他回答
没有办法,除非你
以1000个为一组列出它们(这可能很慢,而且占用带宽——amazon似乎从不压缩XML响应),或者 在S3上登录您的帐户,然后进入帐户-使用。似乎账单部门确切地知道你存储了多少对象!
如果您存储了5000万个对象,那么仅仅下载所有对象的列表实际上就需要花费一些时间和金钱。
也可以看到这个关于StorageObjectCount的线程——它在使用数据中。
一个S3 API至少能获得基础知识,即使它是几个小时以前的,也会很棒。
在s3cmd中,简单地运行以下命令(在Ubuntu系统上):
s3cmd ls -r s3://mybucket | wc -l
如果您在Windows上使用AWS CLI,您可以使用PowerShell中的measurement - object来获得文件的总数,就像*nix上的wc -l一样。
PS C:\> aws s3 ls s3://mybucket/ --recursive | Measure-Object
Count : 25
Average :
Sum :
Maximum :
Minimum :
Property :
希望能有所帮助。
您可以只执行这个cli命令来获取桶或特定文件夹中的总文件计数
扫描整个桶
aws s3api list-objects-v2 --bucket testbucket | grep "Key" | wc -l
aws s3api list-objects-v2 --bucket BUCKET_NAME | grep "Key" | wc -l
可以使用该命令获取详细信息
aws s3api list-objects-v2 --bucket BUCKET_NAME
扫描特定文件夹
aws s3api list-objects-v2 --bucket testbucket --prefix testfolder --start-after testfolder/ | grep "Key" | wc -l
aws s3api list-objects-v2 --bucket BUCKET_NAME --prefix FOLDER_NAME --start-after FOLDER_NAME/ | grep "Key" | wc -l
2021的答案
该信息现在显示在AWS仪表板中。只需导航到桶并单击Metrics选项卡。
推荐文章
- 如何将文件指针(file * fp)转换为文件描述符(int fd)?
- 拒绝访问;您需要(至少一个)SUPER特权来执行此操作
- 我如何使用通配符“cp”一组文件与AWS CLI
- 如何删除文件中的特定行?
- 使用Java重命名文件
- 如何从Python包内读取(静态)文件?
- 为什么我得到“Pickle - EOFError: run out of input”读取一个空文件?
- 我如何获得亚马逊的AWS_ACCESS_KEY_ID ?
- 如何使所有对象在AWS S3桶公共默认?
- 在PostgreSQL中快速发现表的行数
- 写字符串到文本文件,并确保它总是覆盖现有的内容。
- 从另一个文件导入变量?
- 为什么我应该使用亚马逊Kinesis而不是SNS-SQS?
- 寻找不属于特定用户的文件
- 如何复制文件跨计算机使用SSH和MAC OS X终端