[英]How should I post a file to AWS Lambda function, process it, and return a file to the client?
我正在使用serverless-http在AWS Lambda上創建一個快速端點 - 一般來說非常簡單。 流程基本上是:
我不是100%堅持這個流程,但這是我想要做的事情的要點。
Lambda函數應該讓我訪問/tmp
進行存儲,所以我嘗試用Multer
來存儲文件,然后閱讀內容,我也試過了decompress-zip
庫,看起來這些文件永遠不會“工作” ”。 我甚至嘗試過上傳圖像並立即將其發回。 它發回一個名為incoming.[extension]
的文件,但它總是被破壞。 我錯過了什么嗎? 有一個更好的方法嗎?
通常在處理文件時,方法是使用S3作為存儲,並且有幾個原因,但最重要的一個事實是Lambda的事件大小限制為6mb ,因此您無法輕松POST一個巨大的文件直接到它。
如果您的壓縮excel文件總是小於那個,那么您在這方面是安全的。 如果沒有,那么你應該研究一個不同的流程,也許是使用AWS步驟函數和Lambda和S3的東西。
關於解壓縮文件的問題,我親自使用過,可以推薦一下adm-zip ,它看起來像這樣:
//unzip and extract file entries
var zip = new AdmZip(rawZipData);
var zipEntries = zip.getEntries();
console.log("Zip contents : " + zipEntries.toString());
zipEntries.forEach(function(entry){
var fileContent = entry.getData().toString("utf8");
});
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.