如何在节点中流式传输AWS Lambda响应? [英] How to stream AWS Lambda response in node?

查看:79
本文介绍了如何在节点中流式传输AWS Lambda响应?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

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

I have an AWS Lambda function, and I need to invoke it from my node app and stream the result back to the client. I've looked in the docs but can't see a way. I want to do something like this:

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)
})

推荐答案

The Javascript AWS SDK supports streaming the body of the API http response so API calls like getting a large S3 blob of binary data can be streamed.

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

您将获得响应的Payload作为data.

Node.js lambda函数本身不支持流传输,只是一个回调.尽管它看起来像您仍可以在Java中进行流式传输.

The Node.js lambda functions themselves don't support streaming, just a callback. Although it looks like you can stream in Java.

这篇关于如何在节点中流式传输AWS Lambda响应?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆