2

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

我需要

~ 等待这5个文件被写出

~ 合并它们并创建一个新文件 egftxt = 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猫 s3://mybucket/f3.txt >> s3://mybucket/f.txt 猫 s3://mybucket/f4.txt >> s3://mybucket/f.txt 猫 s3://mybucket/f5 .txt >> s3://mybucket/f.txt

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

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


4

2 回答 2

1

如果您知道要上传的 5 个文件所使用的密钥的名称,则可以轮询它们。如果你知道 python,boto 是一个很好的与 s3 接口的模块,可以轻松处理上述问题。此外,s3 确实保证文件在完全上传之前不会显示给其他客户端,因此您不必担心读取部分文件。

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

于 2012-07-22T20:25:25.020 回答
0

认为您想使用分段上传,而不是上传一堆文件并将它们分类

于 2013-07-05T13:17:20.067 回答