2016-05-14 12 views
2

我正在考慮轉移到lambda表達式,並花一些時間閱讀文檔和各種博客與用戶體驗,我仍然有一個簡單的問題後掙扎。有沒有建議/正確的方式來使用lambda與現有的S3文件?AWS拉姆達S3事件的現有文件

我有一個包含歸檔數據跨越幾年的S3桶。這些數據的大小相當大(數百GB)。每個文件都是一個簡單的txt文件。文件中的每一行代表一個事件,它只是一個逗號分隔的字符串。

我的最終目標是消費這些文件,解析其中的每一個一行行申請一些改造,創建行的批次,並將它們發送到外部服務。從我迄今爲止所讀到的內容來看,如果我寫了一個正確的lambda表達式,這將由s3事件觸發(例如上傳一個新文件)。

是否有拉姆達適用於我的桶的所有現有內容的方法嗎?

感謝

回答

1

對於你需要編寫一個腳本,獲取所有資源的列表和每個項目以某種方式發送到一個lambda函數現有資源。我可能會考慮將每個現有S3對象的位置發送到Kenesis流,並配置一個Lambda函數以從該流中提取記錄並處理它們。

0

嘗試複製您的存儲桶內容並使用lambda捕獲創建事件。

副本:

s3cmd sync s3://from/this/bucket/ s3://to/this/bucket 

較大的水桶:

https://github.com/paultuckey/s3_bucket_to_bucket_copy_py

+1

注意,這種方法會重置所有日期上的對象,以「現在」,將招致新對象的創建費用,因爲複製一個對象,即使是同一個桶中的同一個鍵,在技術上也會創建一個新的對象。 –