2015-11-07 104 views
0

我有從不同的機器上傳到S3的日誌文件(m1_log.txt,m2_log.txt,m3_log.txt)。合併/聚合S3對象

他們上傳到存儲桶,但我希望能夠創建所有三個連接的log.txt。

我正在編寫一個腳本,它可以下載所有文件,連接它們,上傳它們,然後刪除舊的文件,但似乎是浪費了大量的帶寬和時間。

有沒有辦法要麼:

  1. 「附加」 的文件上S3?因此,我們可以將每個進程追加到相同的log.txt
  2. 在s3上每隔x分鐘運行一次命令,將它們合併到一起?
+1

[在AWS S3上合併文件(使用Apache Camel)](http://stackoverflow.com/questions/19290103/merging-files-on-aws-s3-using -apache-camel) – Mogsdad

回答

0

你的第一個想法,下載它們,concat,上傳和刪除是完成這個任務的唯一方法。您不能在S3上「追加文件」或「運行命令」。

0

這個問題已經在這裏找到答案:Merging files on AWS S3 (Using Apache Camel)

這是可能的,如果他們超過5MB更大的合併文件,或者如果他們不就可以僞造出來,所以他們超過5MB更大。這是通過大多數aws SDK中可用的copy_part命令完成的。 Danilop和Joseph Lust的回答是正確的

+0

請不要將鏈接發佈到[重複答案](// meta.stackexchange.com/a/211726/206345)。相反,考慮其他可以幫助未來用戶找到他們需要的答案的行動,如鏈接文章中所述。 – Mogsdad

+0

啊,對不起。我沒有意識到這個選擇是可用的。 –