我一直在尝试将我的 botframework 机器人部署到 AWS API Gateway。我正在使用aws serverless express框架来托管此应用程序。
我唯一能找到的就是这个对话,它提供了一些关于如何让它发挥作用的好主意。
https://gitter.im/Microsoft/BotBuilder?at=57832060bdafd191075d92b3
上面的建议是将请求传递给运行良好的侦听器函数
{ body:{}, headers: {} }
并将以下内容用于 end 可以是无操作的响应。
{ status: function (code) {}, end: () {} }
我运行但没有收到机器人响应的代码是这样的。
var connectorListener = connector.listen();
function listen() {
return function (req, res) {
var response = res;
connectorListener(req, { status: (code) => { response.status(code); }, end: () => { response.end(););
}
}
如果我删除 res.end() 并按照建议保留为无操作,我会在 1-2 秒内收到来自聊天机器人的响应,但它也会使 lambda 运行 30 秒,这是 API 网关的超时。
有没有办法让这个工作,这样我就可以在不使 lambda 超时的情况下接收回消息?