除非我遗漏了什么,否则我所看过的所有api似乎都不会告诉您<S3 bucket>/<文件夹>中有多少对象。有办法统计一下吗?


当前回答

您可能会使用Amazon S3库存,它将在csv文件中为您提供对象列表

其他回答

如果使用s3cmd命令行工具,可以获得特定桶的递归列表,并将其输出到文本文件。

s3cmd ls -r s3://logs.mybucket/subfolder/ > listing.txt

然后在linux中,您可以对文件运行wc -l来计算行数(每个对象1行)。

wc -l listing.txt

您可以使用s3的AWS cloudwatch指标来查看每个桶的确切计数。

没有办法,除非你

以1000个为一组列出它们(这可能很慢,而且占用带宽——amazon似乎从不压缩XML响应),或者 在S3上登录您的帐户,然后进入帐户-使用。似乎账单部门确切地知道你存储了多少对象!

如果您存储了5000万个对象,那么仅仅下载所有对象的列表实际上就需要花费一些时间和金钱。

也可以看到这个关于StorageObjectCount的线程——它在使用数据中。

一个S3 API至少能获得基础知识,即使它是几个小时以前的,也会很棒。

有一个——summary开关,显示桶的摘要信息(即对象的数量,总大小)。

下面是使用AWS cli的正确答案:

aws s3 ls s3://bucketName/path/ --recursive --summarize | grep "Total Objects:"

Total Objects: 194273

参见文档

Aws s3 ls s3://bucket-name/folder-prefix-if-any——recursive | wc -l .使用实例