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

时间:2016-09-08 01:12:08

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

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

lambda.invoke(params).then(data => data.pipe(res))

甚至

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

1 个答案:

答案 0 :(得分:10)

可以流式传输Javascript AWS SDK supports streaming the body of the API http response API调用,例如获取大量S3 blob的二进制数据。

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

您的回复Payloaddata

Node.js lambda functions themselves don't support streaming,只是一个回调。虽然它看起来像you can stream in Java