我有從不同的機器上傳到S3的日誌文件(m1_log.txt,m2_log.txt,m3_log.txt)。合併/聚合S3對象
他們上傳到存儲桶,但我希望能夠創建所有三個連接的log.txt。
我正在編寫一個腳本,它可以下載所有文件,連接它們,上傳它們,然後刪除舊的文件,但似乎是浪費了大量的帶寬和時間。
有沒有辦法要麼:
- 「附加」 的文件上S3?因此,我們可以將每個進程追加到相同的log.txt
- 在s3上每隔x分鐘運行一次命令,將它們合併到一起?
我有從不同的機器上傳到S3的日誌文件(m1_log.txt,m2_log.txt,m3_log.txt)。合併/聚合S3對象
他們上傳到存儲桶,但我希望能夠創建所有三個連接的log.txt。
我正在編寫一個腳本,它可以下載所有文件,連接它們,上傳它們,然後刪除舊的文件,但似乎是浪費了大量的帶寬和時間。
有沒有辦法要麼:
你的第一個想法,下載它們,concat,上傳和刪除是完成這個任務的唯一方法。您不能在S3上「追加文件」或「運行命令」。
這個問題已經在這裏找到答案:Merging files on AWS S3 (Using Apache Camel)
這是可能的,如果他們超過5MB更大的合併文件,或者如果他們不就可以僞造出來,所以他們超過5MB更大。這是通過大多數aws SDK中可用的copy_part命令完成的。 Danilop和Joseph Lust的回答是正確的
請不要將鏈接發佈到[重複答案](// meta.stackexchange.com/a/211726/206345)。相反,考慮其他可以幫助未來用戶找到他們需要的答案的行動,如鏈接文章中所述。 – Mogsdad
啊,對不起。我沒有意識到這個選擇是可用的。 –
[在AWS S3上合併文件(使用Apache Camel)](http://stackoverflow.com/questions/19290103/merging-files-on-aws-s3-using -apache-camel) – Mogsdad