如何在节点中传输AWS Lambda响应?

Fre*_*Ben 9 javascript amazon-web-services node.js aws-lambda

我有一个AWS Lambda函数,我需要从我的节点应用程序调用它并将结果流回客户端.我查看了文档但看不到方法.我想做这样的事情:

lambda.invoke(params).then(data => data.pipe(res))
Run Code Online (Sandbox Code Playgroud)

甚至

lambda.invoke(params, (err, data) => {
  // data should be a pipeable stream instead of buffered
  data.pipe(res)
})
Run Code Online (Sandbox Code Playgroud)

Mat*_*att 11

使用Javascript SDK AWS流支持的API HTTP响应的身体所以像得到的二进制数据的大斑点S3 API调用的流式传输.

lambda.invoke(lambdaDef)
.createReadStream()
.on('data', function(data) {
  console.log("Got data:", data.toString())
})
Run Code Online (Sandbox Code Playgroud)

你会得到Payload响应的data.

Node.js的lambda函数本身不支持流,只是回调.虽然看起来你可以用Java流.