因此,我可以看到 S3 控制台并可以进入包含文件列表的文件夹,但是除了通过分页之外,我没有找到查找其中文件总数的方法,但考虑到有数千个文件,分页不起作用。
答案1
这将列出您的对象,最后您将看到总对象数和大小:
aws s3 ls s3://bucketName/path/ --recursive --summarize
只需将 bucketName 更改为您的 bucket 名称和路径,它实际上是 bucket 内的文件夹,如果您也需要它(或者如果您想要整个 bucket,则将其删除)
您还可以从 cli 使用 s3api:
aws s3api list-objects --bucket bucketName --query "[length(Contents[])]"
正如评论中指出的那样,如果存储桶很大,则可能需要一段时间。
答案2
如果你只是需要文件数量而不需要实际打印文件,你可以通过管道传输@Caldazer建议wc -l
喜欢
aws s3 ls s3://bucketName/path/ | wc -l
答案3
答案4
获取存储桶中对象数量的另一种方法是获取grep
“总对象数”,它是使用时自动显示的输出的一部分--summarize
:
aws s3 ls s3://bucketName/path/ --recursive --summarize | grep "Total Objects:"
对于包含 1633 个文件的文件夹,这将返回:
Total Objects: 1633