Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/amazon-s3/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/apache-spark/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Amazon s3 如何获取BucketListResultSet的长度_Amazon S3_Boto - Fatal编程技术网

Amazon 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是一

使用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是一个生成器,可在后台为您处理任何分页。因此,获得它的“长度”的唯一方法是实际迭代所有结果。一种简单的方法是在示例中使用
list(l)
。请注意,这将是一个昂贵的操作,因为它至少涉及到一次(可能是多次)到S3服务的往返。

我刚刚尝试了使用boto和RadosGateway到OpenStack CEPH的列表(l)方法。即使使用list(bucket.list(…),此生成器似乎也会失败。您看到的是哪种失败?结果集的长度各不相同。