你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

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

适用于: SDK v4

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

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

先决条件

配置隧道

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

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

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

    devtunnel host -a -p 3978
    

    注意

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

  3. 开发隧道启动时,复制并保存公共转发 URL 供以后使用。

    devtunnel 转发 URL

在 Azure 门户中配置

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

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

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

    消息传送终结点

  3. 选择“应用”。

测试

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

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

设置断点

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

其他信息