我有一个由DB查询支持的Python迭代器(在本例中是一个MongoDB游标)。我正在尝试使用boto将其内容写为S3上的文本文件。
最简单的方法是将所有内容连接成一个字符串并调用key.set_contents_from_string。但是,对于大量数据(可能是1GB +),这将无法正常工作。
s = ""
for entry in entries:
s += entry
k.set_contents_from_string(s)
理想情况下,我使用key.open_write(),因此我可以在迭代时将每个条目写入S3 ...但该功能尚未由boto实现。
k.open_write()
for entry in entries:
k.write(entry)
我该如何解决这个问题?是否有一种方法可以将迭代器包装成像文件对象一样,以便我可以使用key.send_file?