使用boto.S3,获取BucketListResultSet总长度的最佳方法是什么?我真的需要遍历所有这些吗?
from boto.s3.connection import S3Connection
conn = S3Connection('XXX', 'YYYY')
bucket = conn.get_bucket('myBucket')
l = bucket.list('just/a/prefix/')
此处l
是BucketListResultSet。如何获取l
中的对象总数?
答案 0 :(得分:3)
BucketListResultSet
是一个生成器,可以在幕后处理任何分页。因此,获得"长度的唯一方法是#34;它实际上是迭代所有结果。一种简单的方法是在您的示例中使用list(l)
。请注意,这将是一项昂贵的操作,因为它涉及到S3服务的至少一次(也可能是很多次)往返。