[英]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.