如何在节点中流式传输 AWS Lambda 响应?
How to stream AWS Lambda response in node?
我有一个 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)
})
Javascript AWS SDK supports streaming the body of the API responses so API 像获取大型 S3 二进制数据 blob 这样的调用可以流式传输 到 Javascript 函数。
lambda.invoke(lambdaDef)
.createReadStream()
.on('data', function(data) {
console.log("Got data:", data.toString())
})
您将得到 Payload
的响应 data
。
Javascript lambda functions don't support any streaming options except for logging and inbound events, just a callback that returns a chunk of data.
The Java SDK does have a specific handler for streams -com.amazonaws.services.lambda.runtime.RequestStreamHandler
.
我有一个 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)
})
Javascript AWS SDK supports streaming the body of the API responses so API 像获取大型 S3 二进制数据 blob 这样的调用可以流式传输 到 Javascript 函数。
lambda.invoke(lambdaDef)
.createReadStream()
.on('data', function(data) {
console.log("Got data:", data.toString())
})
您将得到 Payload
的响应 data
。
Javascript lambda functions don't support any streaming options except for logging and inbound events, just a callback that returns a chunk of data.
The Java SDK does have a specific handler for streams -com.amazonaws.services.lambda.runtime.RequestStreamHandler
.