Python simples3 listdir是否将输出限制为1000个文件?
我使用的是1.0版。在s3键上调用listdir时,如果有超过1000个文件,则生成器只返回前1000个文件 该方法有一个可选的limit参数,默认为None。设置限制将返回空列表。文档中提到的listdir没有额外的限制 下面是一个代码示例,其中bucket是simples3 S3Bucket,s3_key是s3中的一个密钥,其中包含5000多个文件:Python simples3 listdir是否将输出限制为1000个文件?,python,amazon-s3,Python,Amazon S3,我使用的是1.0版。在s3键上调用listdir时,如果有超过1000个文件,则生成器只返回前1000个文件 该方法有一个可选的limit参数,默认为None。设置限制将返回空列表。文档中提到的listdir没有额外的限制 下面是一个代码示例,其中bucket是simples3 S3Bucket,s3_key是s3中的一个密钥,其中包含5000多个文件: count = 0 for file_info in bucket.listdir(prefix=s3_key): count += 1
count = 0
for file_info in bucket.listdir(prefix=s3_key):
count += 1
>>> count
1000 ## Expected to be over 5000
是否存在未记录的限制?
simples3库有没有办法获取s3键下的所有文件?simples3库使用aws的rest api,默认情况下是这样的 它不是,但可以使用
limit
键设置限制:
for file_info in bucket.listdir(prefix=s3_key, limit=10000):
我没有找到任何方法将其设置为无限
这里是
simples3
的作者。很抱歉,这已经不起作用了,但这确实在亚马逊上。正如您在中所看到的,它支持分页,并且应该是无缝的。如果不是,那是因为Amazon停止返回截断标志或停止返回标记以执行分页。谢谢!正如我所写的,我确实尝试为它设置limit参数,但没有返回任何内容:>>>对于bucket.listdir(prefix=s3\u key,limit=10000)中的文件\u info:。。。计数+=1…>>>计数0您知道我如何查询超过1000个吗?或者它只是一个无法解决的aws限制?哦,我看到我需要使用NextContinuationToken来查询1000多个结果,而simples3似乎不支持它:-/bucket.listdir(prefix=s3\u key,limit=10000)不起作用?5000美元怎么样?还是2000年?也许有一个硬顶限制,您不能在上面使用数字…您是对的,simples3库没有实现NextContinuationToken
。奇怪的是StackOverflow删除了答案开头的“hello”。感谢您的回答和simple3。我找不到使用带分页的simples3的方法,所以我转而使用boto3。