我们如何使用AWS lambda"事件" (API网关)作为可读流?

时间:2017-10-11 17:17:03

标签: javascript amazon-web-services lambda aws-lambda serverless-framework

我正在尝试将 POST 请求中的文件发送到 AWS lambda ,并在经过一些处理后得到结果。我想将请求主体用作可读流,如下例所示。

// AWS lambda (using the serverless framework)
module.exports.hello = (event, context, callback) => {
    // pipe the request content to another stream (.pipe())
}

我可以轻松地在 Express 中执行相同操作,但无法使用AWS lambda提供的事件对象。

// Express server
app.post('/endpoint', (req, res) => {
    req.pipe(anotherStream)
})

1 个答案:

答案 0 :(得分:0)

AWS Lambda旨在处理来自AWS Api网关(或任何其他Lambda调用)的不同事件(作为对象提供)。您可以做什么:

  1. 将Web套接字与AWS Lambda结合使用,以通过随后的Lambda调用来处理通过开放套接字发送的数据,从而处理流
  2. 通过AWS Api网关公开AWS S3操作(例如您的情况下的PUT),并在使用S3事件完成上传后触发Lambda