Amazon s3 如何获取BucketListResultSet的长度
使用boto.S3,获取BucketListResultSet总长度的最佳方法是什么?我真的需要遍历所有这些吗Amazon s3 如何获取BucketListResultSet的长度,amazon-s3,boto,Amazon S3,Boto,使用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是一个。如何获取l中的对象总数?BucketListResultSet是一
from boto.s3.connection import S3Connection
conn = S3Connection('XXX', 'YYYY')
bucket = conn.get_bucket('myBucket')
l = bucket.list('just/a/prefix/')
这里,
l
是一个。如何获取l
中的对象总数?BucketListResultSet是一个生成器,可在后台为您处理任何分页。因此,获得它的“长度”的唯一方法是实际迭代所有结果。一种简单的方法是在示例中使用list(l)
。请注意,这将是一个昂贵的操作,因为它至少涉及到一次(可能是多次)到S3服务的往返。我刚刚尝试了使用boto和RadosGateway到OpenStack CEPH的列表(l)方法。即使使用list(bucket.list(…),此生成器似乎也会失败。您看到的是哪种失败?结果集的长度各不相同。