连接Amazon S3存储桶中的文件

时间:2012-07-22 19:26:30

标签: amazon-s3

我在EC2上的不同虚拟机(VM)上运行了5个不同的进程,创建了5个不同的文件(f1.txt,f2.txt,f3.txt,f4.txt,f5.txt)。这些虚拟机大致在同一时间启动,但将在不同时间完成。

我需要

〜等待写出这5个文件

〜合并它们并创建一个新文件,例如   f.txt = f1.txt + f2.txt + f3.txt + f4.txt + f5.txt

〜问题:   #如何确定所有5个文件何时准备好并写出?   #我可以使用s3cat或类似的命令行工具吗? s3cat     具有与Unix cat类似的语义,例如     cat s3://mybucket/f1.txt> S3://mybucket/f.txt     cat s3://mybucket/f2.txt>> S3://mybucket/f.txt     cat s3://mybucket/f3.txt>> S3://mybucket/f.txt     cat s3://mybucket/f4.txt>> S3://mybucket/f.txt     cat s3://mybucket/f5.txt>> S3://mybucket/f.txt

Their examples on GitHub didn’t show this use case.

生成的输出文件(f.txt)供下游进程使用。


2 个答案:

答案 0 :(得分:1)

如果您知道正在上传的5个文件所使用的密钥的名称,则只需轮询它们即可。如果你知道python,boto是一个很好的模块,用于与s3接口,并将处理上面的一个cinch。此外,s3确保文件在完全上传之前不会显示给其他客户端,因此您不必担心读取部分文件。

如果您已经使用它来检查文件,Boto也是连接输出的好方法。

答案 1 :(得分:0)

我想你想要使用分段上传,而不是上传一堆文件并抓住它们