我想在AWS lambda中运行节点功能,并允许用户使用Web浏览器上传和分析他们的文件。以下是上述功能:
analyzer.analyze(fs.createReadStream('./path/to/local/file'),function(err,analysis){
console.log(JSON.stringify(analysis));
});
如您所见,analyzer.analyze方法的第一个参数采用流。在AWS lambda上运行文件时,如何在不实际保存文件的情况下创建该流?
有没有办法让lambda直接从请求中读取文件流,或者可以在内存中读取文件,然后从那里创建一个流?
答案 0 :(得分:0)
将文件存储在S3中可以吗?如果是,您可以将文件存储在S3中,并将lambda函数配置为在该S3存储桶中创建文件时触发。
答案 1 :(得分:0)
createReadStream
需要一个文件。除了分区/tmp
之外,lambda环境具有只读分区。如果您只选择createReadStream
,我建议您将文件保存在/tmp
文件夹中,而不是将其上传到S3 Bucket中。