有没有办法使用 Ngrok 将 Azure 机器人服务连接到本地托管的机器人?

Posted

技术标签:

【中文标题】有没有办法使用 Ngrok 将 Azure 机器人服务连接到本地托管的机器人?【英文标题】:Is there a way to connect Azure Bot Services to locally-hosted bot using Ngrok? 【发布时间】:2020-03-15 06:27:24 【问题描述】:

我们正在开发 Microsoft Bot Framework 机器人。最终这将托管在与 Azure 不同的站点上,但据我了解,该通道将通过 Azure 到达远程主机。我想使用本地托管的机器人和 Ngrok 来测试这个拓扑。

我可以使用 Ngrok 为机器人提供公共 URL,格式为

http://ee384838.ngrok.io -> http://localhost:3000

我还可以获取表单 Azure 的公共 URL

https://something.azurewebsites.net/api/messages

如何配置 Azure 机器人服务以将消息从 Azure URL 定向到 Ngrok URL?我在 Azure 机器人服务的许多控制面板上找不到任何内容。我以为是“频道”,但似乎不是。

感谢您提供任何线索!

【问题讨论】:

【参考方案1】:

转到您的 Azure Bot 服务,在 Bot management 下单击 Settings,您将在 configuration 下找到 Messaging Endpoint

【讨论】:

那是 azure 服务的公共 URL 吗?也就是说,这是客户端要连接的 URL?如果是这样,我想做的是将该 URL 路由到我的 Ngrok URL Public azure 服务 URL 不是从这里配置的,它是在您添加频道时配置的,对于 facebook 频道,它将类似于 facebook.botframework.com/api/v1/bots/xxxxxxx,这意味着 facebook 将始终与该 URL 通信. botframework 会将这些消息路由到您的消息传递点。因此,例如,当您从 Facebook 收到一条消息时,它将通过 facebook.botframework.com/api/v1/bots/xxxxxxx 然后转到您的消息传递点,您希望在该点包含您的 ngrok URL,以便您可以在本地进行调试跨度>

以上是关于有没有办法使用 Ngrok 将 Azure 机器人服务连接到本地托管的机器人?的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 ngrok 隧道将流量转发到本地托管的 VM 机器的端口?

我的组织已经阻止了 ngrok,有没有其他方法可以在本地没有 ngrok 的情况下将机器人模拟器与团队频道连接起来?

使用 ngrok 在 Teams 中测试机器人功能

使用 ngrok 将 SPFX WebPart 隧道传输到 BrowserStack

有没有办法将 PredicateBuilder 与 Azure 表存储一起使用?

无法将 dialogflow webhook 链接到 ngrok 隧道