合并/聚合S3对象

时间:2015-11-07 14:26:41

标签: amazon-web-services amazon-s3

我将日志文件从不同的计算机上传到S3(m1_log.txt,m2_log.txt,m3_log.txt)。

他们上传到一个存储桶,但我希望能够创建这三个连接的log.txt。

我打算写一个脚本,下载所有文件,连接它们,上传它们,然后删除旧文件,但似乎浪费了很多带宽和时间。

有没有办法:

  1. “附加”到S3上的文件?所以我们可以将每个进程附加到相同的log.txt
  2. 每隔x分钟在s3上运行一个命令,将它们合并在一起?

2 个答案:

答案 0 :(得分:0)

您的第一个想法是,全部下载,连接,上传和删除是完成此任务的唯一方法。您不能在S3上“附加文件”或“运行命令”。

答案 1 :(得分:0)

此问题已在此处得到解答:Merging files on AWS S3 (Using Apache Camel)

如果文件大于5Mb,则可以合并文件,或者如果它们不是,则可以伪造它们,因此它们大于5Mb。这是通过大多数aws sdks中提供的copy_part命令完成的。 danilop和Joseph Lust的答案是正确的