使用隧道从任何通道调试机器人

适用于: SDK v4

虽然机器人还处于开发阶段,但可以使用 IDE 和 Bot Framework Emulator 在本地与机器人聊天,并检查机器人收发的消息。 如果你的机器人在生产环境中,则可以使用隧道从任何通道调试机器人。 机器人与多个通道的无缝连接是 Bot Framework 中提供的一项关键功能。

本文介绍如何在连接到机器人的通道中使用隧道和 C# EchoBot 在本地调试机器人。 本文使用 Microsoft Teams 作为示例通道。

先决条件

配置隧道

开发隧道是一种跨平台应用程序,可以创建隧道或转发 URL,以便 Internet 请求到达本地计算机。 使用 devtunnel 将来自 Web 上外部通道的消息直接转发到本地计算机以允许调试,而不是在 Azure 门户中配置的标准消息传送终结点。

  1. 打开有权访问 devtunnel CLI 的终端。

  2. 使用以下命令运行 devtunnel 以创建新隧道。

    devtunnel host -a -p 3978
    

    注意

    指定的端口是运行机器人的端口。 你可以使用任何所需的 localhost 端口。

  3. 当 devtunnel 启动时,复制并保存公共转发 URL 以供稍后使用。

    devtunnel 转发 URL

在 Azure 门户中配置

在 devtunnel 运行时,登录到 Azure 门户,并查看机器人设置,以执行一些配置。

  1. 选择连接到本地机器人的机器人资源。

  2. 找到设置/配置。 复制 devtunnel 转发 URL,并粘贴到消息传送终结点字段中。 确保保留该 URL 末尾的“/api/messages”。

    消息传送终结点

  3. 选择“应用”。

测试

现在,从外部通道传入机器人的消息将发送到本地机器人。 用于演示此操作的示例机器人已经为 Microsoft Teams 实时进行配置。 阅读将机器人连接到 Microsoft Teams,了解如何将本地机器人连接到 Microsoft Teams 通道。

在本地,可以在 Visual Studio 中设置断点。 展开传入活动对象中的 text 属性,你会发现,系统正在本地截获从 Teams 发送到机器人的消息以供调试。

设置断点

在此处可以正常调试,并逐步运行代码。 使用此设置从任何通道调试机器人。

其他信息