3

我有一个流(假设它是生成过程的标准输出),我想使用 boto 将其发送到 s3。

请给我一个代码示例好吗?

4

2 回答 2

5

我认为答案是除非您知道要流式传输的数据的大小,否则您无法轻松地将数据流式传输到 s3,因为 s3 需要事先知道对象的大小。您绝对可以从 s3 流式传输数据,但要获取数据,您需要在内存或磁盘中缓冲,除非您有幸知道大小。

于 2012-08-01T02:59:56.443 回答
1

几乎来自教程: http ://boto.s3.amazonaws.com/s3_tut.html#storing-data

from boto.s3.connection import S3Connection
from boto.s3.key import Key
import subprocess

conn = S3Connection()
buckets = conn.get_all_buckets()
bucket = buckets[0]   # assuming you have one bucket created

output = subprocess.check_output(["echo", "Hello World!"])
k = Key(bucket)
k.key = 'test'
k.set_contents_from_string(output)  # should be saved on S3

k.get_contents_as_string()          # should retrieve the string
于 2012-07-31T21:43:18.183 回答