簡體   English   中英

從AWS Lambda NodeJs應用程序流式傳輸到文件系統?

[英]Stream to file system from AWS Lambda NodeJs application?

我有一個AWS Lambda函數(NodeJS),它構建了一個龐大的數據結構。

構建數據結構會占用大約2 GB的內存。

最后,我想將數據作為文件/對象推送到S3。

簡單的做法是將結構轉換為巨型字符串,寫入/ tmp,然后推送到S3,但這種方法會殺死3GB內存限制。

我想知道是否有一種方法可以逐行寫入/ tmp,這樣它就不會炸掉我內存的剩余部分。

有人能指出我正確的方向嗎?

謝謝!

AWS Lambda / tmp實際上只有512 MB的空間 ,並且是與函數內存的單獨限制。

您可能達到了3 GB的限制,因為您將結構轉換為內存中的字符串,這意味着您擁有2 GB的原始數據,然后是2 GB的字符串轉換(好吧,1 GB然后出錯)

你提到你有:

AWS Lambda函數(NodeJS),用於構建龐大的數據結構。

但是,通常在處理大數據時,方法是在多個Lambda之間分配工作負載,從不將其加載到單個Lambda中,因為它違背了Lambdas的設計(內存限制是一個明確的指示)。

因此,如果可能的話,我建議在多個Lambdas之間分配工作負載,但如果在您的用例中不可能,那么您可以查看AWS EC2或更容易使用AWS Fargate ,在這種情況下您將不會遇到任何您對Lambda的限制。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM