在本地调试 API 插件

API 插件使 智能 Microsoft 365 Copilot 副驾驶® 中的声明性代理能够调用 REST API 来检索数据和执行任务。 但是,这些 API 必须托管在可通过 Internet 寻址的服务器上,以便智能 Microsoft 365 Copilot 副驾驶®访问它们。 通常,调试工具在 (127.0.0.1) 上 localhost 托管调试会话,只能从运行调试工具的计算机访问。 通过使用反向代理(如 开发隧道),可以将调试会话公开到 Internet,以启用来自智能 Microsoft 365 Copilot 副驾驶®的调试调用。

本文介绍如何使用 devtunnel 该工具为 API 启用本地调试。

注意

调试工具可能已提供反向代理解决方案。 建议查看开发人员工具的文档以确认。 例如,如果使用 Microsoft 365 代理工具包 创建了一个新 API , (Teams 工具包) 的演变 ,该工具包将为你配置反向代理。

先决条件

创建持久开发隧道

CLI devtunnel 允许创建持久开发隧道 - 一个可以根据需要停止和启动的隧道,而无需更改托管 URL。 使用具有持久性 URL 的隧道可简化 API 插件的调试,因为无需使用新 URL 更新声明性代理应用包。

  1. 如果尚未登录到 devtunnel CLI,请使用 devtunnel user login --help 查看可用选项。 在继续作之前,请登录到 CLI。

  2. 创建允许匿名访问的隧道。 匿名访问是允许智能 Microsoft 365 Copilot 副驾驶®访问隧道所必需的,并且与 API 所需的任何身份验证无关。

    devtunnel create --allow-anonymous
    

    提示

    创建新的隧道会将默认隧道切换到新创建的隧道。 这使你可以省略 tunnel-id 后续命令的参数。 如果创建多个隧道, tunnel-id 可能需要使用 参数来确保使用预期的隧道。 有关详细信息,请使用 devtunnel --help 命令或请参阅 开发隧道命令行参考

  3. 添加调试工具使用的 HTTP 端口号。 将 替换为<port>端口号,如果调试工具在端口上使用 HTTPS,或者http未使用 HTTPS,请将 参数https设置为 --protocol

    devtunnel port create --port-number <port> --protocol https
    
  4. 启动开发隧道。

    devtunnel host
    
  5. 首次运行此开发隧道时,请通过浏览器复制标记为 “连接”的 URL。 在浏览器中打开此 URL,然后选择“ 继续 ”以启用隧道。

    注意

    选择“ 继续”后,浏览器将显示错误。 这是预期情况,可以忽略。

  6. 将 URL 保存为 API 基 URL

启用隧道后,可以使用 CTRL + C 停止隧道。可以使用 命令重启隧道 devtunnel host host-id

使用开发隧道

若要使用开发隧道进行调试,需要旁加载具有使用数组中 servers 开发隧道 URL 的 OpenAPI 规范的应用包。 有关详细信息,请参阅 OpenAPI 参考

servers:
  - url: <your-dev-tunnel-url>

如果在 Visual Studio Code 中使用 Agents Toolkit 来管理声明性代理,则可以向名为 OPENAPI_SERVER_URL的 /env/.env.dev.user 文件添加环境变量,并更新 OpenAPI 规范以使用该环境变量。 使用“生命周期”窗格中的“预配”步骤旁加载代理。

在 OpenAPI 规范中,添加:

servers:
  - url: ${{OPENAPI_SERVER_URL}}

/env/.env.dev.user 文件中,添加:

OPENAPI_SERVER_URL=<your-dev-tunnel-url>

如果未使用代理工具包,可以生成新的应用包 ZIP 文件并 上传代理