python - 使用 Boto3 获取特定 S3 文件夹中的对象数

标签 python amazon-s3 boto3

尝试获取 S3 文件夹中的对象数

当前代码

bucket='some-bucket'
File='someLocation/File/'

objs = boto3.client('s3').list_objects_v2(Bucket=bucket,Prefix=File)
fileCount = objs['KeyCount']

这给了我 1+S3 中对象的实际数量的计数。

也许它也将"file"视为键?

最佳答案

“文件夹”实际上并不存在于 Amazon S3 中。相反,所有对象都将其完整路径作为其文件名('Key')。我想你已经知道了。

但是,可以通过创建与文件夹同名的零长度对象来“创建”文件夹。这会导致文件夹出现在列表中,如果通过管理控制台创建文件夹,就会发生这种情况。

因此,您可以从计数中排除零长度对象。

例如,请参见:Determine if folder or file key - Boto

关于python - 使用 Boto3 获取特定 S3 文件夹中的对象数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54656455/

相关文章:

python - AWS DynamoDB Python - boto3 Key() 方法无法识别(查询)

python - 计算包含 NaN 值的行数

python - 无法使用 Pandas 从 CSV header 中删除空格

python - DNA 序列点图

ruby-on-rails - 如何使用 Carrierwave 上传自定义 S3 元数据

java - KMS使用Boto3加密文件数据

python - 将 Union 对象转换为间隔列表

java - 如何通过java sdk在aws中启用服务器访问日志记录

amazon-s3 - Amazon S3 未正确提供文件

python - 如何在 Python/Django 中使用 AWS SNS (boto3/moto) 测试 SMS?