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


当前回答

计算s3中对象数量的一个最简单的方法是:

步骤1:选择根文件夹

步骤2:点击Actions ->删除(显然,要小心-不要删除它)

第三步:等待几分钟,aws会显示对象的数量和总大小。

其他回答

我使用来自scalablelogic.com的python脚本(添加计数日志记录)。伟大的工作。

#!/usr/local/bin/python

import sys

from boto.s3.connection import S3Connection

s3bucket = S3Connection().get_bucket(sys.argv[1])
size = 0
totalCount = 0

for key in s3bucket.list():
    totalCount += 1
    size += key.size

print 'total size:'
print "%.3f GB" % (size*1.0/1024/1024/1024)
print 'total count:'
print totalCount

在AWS CLI的命令行中,使用ls加——summary。它将为您提供所有项目的列表以及特定bucket中的文档总数。我还没有尝试过包含子桶的桶:

aws s3 ls "s3://MyBucket" --summarize

这可能会花费一些时间(列出我16+K的文档大约需要4分钟),但这比一次计算1K要快。

在s3cmd中,简单地运行以下命令(在Ubuntu系统上):

s3cmd ls -r s3://mybucket | wc -l

截至2020年11月18日,现在有一种更简单的方法来获取这些信息,而无需对API请求征税:

AWS S3存储镜头

默认的,内置的,免费的仪表板允许您查看所有桶的计数,或在“buckets”选项卡下的单个桶。有许多下拉列表可以过滤和排序几乎任何你想要寻找的合理指标。

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