使用隧道从任何通道调试机器人
适用于: SDK v4
虽然机器人还处于开发阶段,但可以使用 IDE 和 Bot Framework Emulator 在本地与机器人聊天,并检查机器人收发的消息。 如果你的机器人在生产环境中,则可以使用隧道从任何通道调试机器人。 机器人与多个通道的无缝连接是 Bot Framework 中提供的一项关键功能。
本文介绍如何在连接到机器人的通道中使用隧道和 C# EchoBot 在本地调试机器人。 本文使用 Microsoft Teams 作为示例通道。
先决条件
配置隧道
开发隧道是一种跨平台应用程序,可以创建隧道或转发 URL,以便 Internet 请求到达本地计算机。 使用 devtunnel 将来自 Web 上外部通道的消息直接转发到本地计算机以允许调试,而不是在 Azure 门户中配置的标准消息传送终结点。
打开有权访问
devtunnel
CLI 的终端。使用以下命令运行 devtunnel 以创建新隧道。
devtunnel host -a -p 3978
注意
指定的端口是运行机器人的端口。 你可以使用任何所需的 localhost 端口。
当 devtunnel 启动时,复制并保存公共转发 URL 以供稍后使用。
在 Azure 门户中配置
在 devtunnel 运行时,登录到 Azure 门户,并查看机器人设置,以执行一些配置。
选择连接到本地机器人的机器人资源。
找到设置/配置。 复制 devtunnel 转发 URL,并粘贴到消息传送终结点字段中。 确保保留该 URL 末尾的“/api/messages”。
选择“应用”。
测试
现在,从外部通道传入机器人的消息将发送到本地机器人。 用于演示此操作的示例机器人已经为 Microsoft Teams 实时进行配置。 阅读将机器人连接到 Microsoft Teams,了解如何将本地机器人连接到 Microsoft Teams 通道。
在本地,可以在 Visual Studio 中设置断点。 展开传入活动对象中的 text 属性,你会发现,系统正在本地截获从 Teams 发送到机器人的消息以供调试。
在此处可以正常调试,并逐步运行代码。 使用此设置从任何通道调试机器人。