【问题标题】:Webhook deployment on Lambda AWSLambda AWS 上的 Webhook 部署
【发布时间】:2018-06-27 14:01:52
【问题描述】:

我正在尝试将此处找到的 Webhook Example for Google Actions 部署到 Lambda AWS 上。

我使用 ngrok 成功部署和发出 POST 调用。所以,没有问题。

但我发现的问题是它使用 Express 节点模块进行 POST 请求调用。向 Express 模块发出请求时,Lambda AWS 失败。那么有没有办法让 POST 调用成功。

我尝试使用Lambda-Express 节点模块来部署它,但它似乎也有一些问题。

【问题讨论】:

    标签: node.js amazon-web-services express aws-lambda actions-on-google


    【解决方案1】:

    Lambda AWS 不直接支持 HTTP 接口。

    一种解决方案是让您使用API Gateway,它允许您将 AoG 发送的 HTTPS POST 转换为对 AWS Lambda 的调用。

    在您的 lambda 中,您将处理通过标准 Lambda 处理程序传入的请求:

    function( event, context, callback );
    

    而不是通过快递。您可能还想从您的代码中删除 Express,这听起来可能需要做很多工作,但是当它发布时我简要地看了看它,我的印象是对 Express 的依赖很小而且完全没有必要。

    另一种方法是从 Lambda 切换到基于 HTTP 的东西,比如 Google App Engine,它也是无服务器的(在一定程度上)。我想这可能更容易,但我不知道你的其他因素可能是什么。

    【讨论】:

    • 是的,Tom,必须完全消除 Express 的使用,并且必须重新设计初始化 js 文件以使用 Lambda 处理程序和回调
    【解决方案2】:

    我遇到了this tutorial that explains使用Lambda函数连接API.ai意图的逐步过程。

    如果您按照 Google web hook 示例将其部署到 Lambda,那么这是一个错误的方向。彻底消除 express 使用,当需要 Lambda 部署时,也不需要 Assistant 类。

    【讨论】:

      猜你喜欢
      • 2022-01-21
      • 1970-01-01
      • 2022-12-23
      • 1970-01-01
      • 1970-01-01
      • 2019-02-04
      • 1970-01-01
      • 2017-06-19
      • 2017-11-30
      相关资源
      最近更新 更多