我正在使用simples3 1.0版。在具有超过1000个文件的s3键上调用listdir时,生成器仅返回前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
1000 ## Expected to be over 5000


有没有记录的限制?
simples3 lib是否有办法在s3键下获取所有文件?

最佳答案

simples3库使用的是AWS的rest api,默认情况下为limits the max keys to 1000

不是documented,但是based on the code可以使用limit键设置限制:

for file_info in bucket.listdir(prefix=s3_key, limit=10000):



  我没有找到任何将其设置为无限的方法。

关于python - Python simples3 listdir将输出限制为1000个文件吗?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/40331681/

10-16 05:49