AWS Lambda:如何在不保存文件的情况下流式传输文件

时间:2017-07-14 23:16:48

标签: node.js amazon-web-services lambda aws-lambda

我想在AWS lambda中运行节点功能,并允许用户使用Web浏览器上传和分析他们的文件。以下是上述功能:

analyzer.analyze(fs.createReadStream('./path/to/local/file'),function(err,analysis){
    console.log(JSON.stringify(analysis));
});

如您所见,analyzer.analyze方法的第一个参数采用流。在AWS lambda上运行文件时,如何在不实际保存文件的情况下创建该流?

有没有办法让lambda直接从请求中读取文件流,或者可以在内存中读取文件,然后从那里创建一个流?

2 个答案:

答案 0 :(得分:0)

将文件存储在S3中可以吗?如果是,您可以将文件存储在S3中,并将lambda函数配置为在该S3存储桶中创建文件时触发。

答案 1 :(得分:0)

createReadStream需要一个文件。除了分区/tmp之外,lambda环境具有只读分区。如果您只选择createReadStream,我建议您将文件保存在/tmp文件夹中,而不是将其上传到S3 Bucket中。