1

DB クエリ (この場合は MongoDB カーソル) に基づく Python イテレータがあります。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 を使用できるように、ファイル オブジェクトのように動作するようにイテレータをラップする方法はありますか?

4

0 に答える 0