我有一个机器人,我是通过使用Microsoft Bot Builder在一个项目中将 LUIS 和 QnA 合并在一起而创建的。 我将机器人发布到Visual Studio的EC2实例,我正在使用Bot框架模拟器进行测试,它运行得很好。 (必须使用ngrok进行隧道掘进)。
现在我想在Skype上部署机器人。我登录了Bot Framework Portal并注册了我的机器人。现在是配置部分。 我不太清楚在这里设置什么作为HTTP端点。
我在Bot Framework文档中找到了这个:
完成表单的“配置”部分。
提供机器人的 HTTPS 消息传递端点。这是端点 您的机器人将从Bot Connector接收HTTP POST消息。如果 您使用Bot Builder SDK构建机器人,端点应该 以 / api / messages 结束。
如果您已将机器人部署到云端,请指定从该部署生成的端点。
如果您尚未将机器人部署到云端,请暂时将端点留空。您将返回Bot Framework Portal 稍后,在部署机器人后指定端点。
当我从Visual Studio发布时,从Azure App Service Activity窗口中,我找到了这一行:
启动Web部署将应用程序/包发布到https://ec2-00-000-000-00.compute-1.amazonaws.com:PORT/msdeploy.axd?site=bots ...
我在配置中使用该地址作为Messaging Endpoint,我发布了我的应用程序。但是,当我在Skype上测试它时,我没有收到来自机器人的任何消息。
我不知道究竟是什么问题,这是否与ngrok有关?或者我在这里错过了一步,我还应该做些什么来在Skype上部署机器人?也许与我需要使用的appid /密码有关...我真的不知道
真的很感激解释这是如何工作的。我真的不明白整个部署程序是如何工作的,感觉就像我在浑水中游泳。
答案 0 :(得分:1)
您的端点将成为已部署的Web应用程序实例的根目录,以及机器人正在侦听的路由。
例如,我的一个机器人被部署到Azure网站的免费版本。此类站点的URL为https://APPLICATION_NAME.azurewebsites.net
,僵尸程序侦听的路由为默认/api/messages
。这使得端点https://APPLICATION_NAME.azurewebsites.net/api/messages
。
如果直接连接到应用程序的端点,至少应该获得带有错误消息的JSON转储。要确保您的站点已部署,请将HTML文件放入EC2的根目录,看看是否可以访问它。