我正在尝试将此处找到的 Google 操作的 Webhook 示例部署到 Lambda AWS 上。
我使用 ngrok 成功部署并进行了 POST 调用。所以,那里没有问题。
但我发现的问题是它使用 Express 节点模块进行 POST 请求调用。向 Express 模块发出请求时,Lambda AWS 失败。那么有没有办法使 POST 调用成功。
我尝试使用Lambda-Express节点模块来部署它,但它似乎也有一些问题。
我正在尝试将此处找到的 Google 操作的 Webhook 示例部署到 Lambda AWS 上。
我使用 ngrok 成功部署并进行了 POST 调用。所以,那里没有问题。
但我发现的问题是它使用 Express 节点模块进行 POST 请求调用。向 Express 模块发出请求时,Lambda AWS 失败。那么有没有办法使 POST 调用成功。
我尝试使用Lambda-Express节点模块来部署它,但它似乎也有一些问题。
Lambda AWS 不直接支持 HTTP 接口。
一种解决方案是让您使用API Gateway,它允许您将 AoG 发送的 HTTPS POST 转换为对 AWS Lambda 的调用。
在您的 lambda 中,您将处理通过标准 Lambda 处理程序传入的请求:
function( event, context, callback );
而不是通过快递。您可能还想从您的代码中删除 Express,这听起来可能需要做很多工作,但我在它发布时简要查看了它,我的印象是对 Express 的依赖很小而且完全没有必要。
另一种方法是从 Lambda 切换到基于 HTTP 的东西,比如 Google App Engine,它也是无服务器的(在一定程度上)。我想这可能更容易,但我不知道你的其他因素可能是什么。
我遇到了这个教程,它解释了使用 Lambda 函数连接 API.ai 意图的分步过程。
如果你按照 Google web hook example 将其部署到 Lambda,那么这是一个错误的方向。完全消除快速使用,并且在需要 Lambda 部署时也不需要 Assistant 类。