[英]AWS lambda function to retrieve any uploaded files from s3 and upload the unzipped folder back to s3 again
我有一個s3存儲桶,供用戶上傳壓縮目錄(大小通常為1GB)。 壓縮目錄將圖像保存在子文件夾等中。
我需要創建一個lambda函數,該函數將在新上傳后觸發,解壓縮文件,然后將解壓縮后的內容上傳回s3存儲桶,因此我可以通過http訪問單個文件- 但我對如何使用卻一無所知我可以寫這樣的功能嗎?
我擔心的是:
每個Lambda函數在其自己的/ tmp目錄中接收500MB的非永久磁盤空間。
這將不足以存儲1GB的zip文件以及未壓縮的內容。
您將需要在范圍內流式傳輸“輸入” zip文件,並將解壓縮的文件存儲在小組中,以避免出現此問題。 對於此應用程序,可能不值得使用Lambda。
目前,AWS Lambda的執行時間限制為5分鍾。
如果您的下載+解壓縮+上傳時間超過5分鍾,Lambda將無法為您服務。
這是一些解決方案的參考: https : //serifandsemaphore.io/aws-lambda-going-beyond-5-minutes-34e381e71231#.maz4sfo43
由於其他張貼者提到的原因,Lambda不太適合實際處理文件。 但是,由於它與S3事件集成,因此可以用作其他事件的觸發器。 它可以將消息發送到SQS,在EC2上運行的另一個進程(ECS,ElasticBeanstalk,ECS)可以處理隊列中的消息,然后處理來自S3的文件。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.