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

教程:使用请求跟踪调试 API

适用于:消耗 | 开发人员 | 基本 | 标准 | 高级

本教程介绍如何在 Azure API 管理中检查(跟踪)请求处理。 跟踪有助于调试 API 并排查 API 问题。

在本教程中,你将了解如何执行以下操作:

  • 跟踪示例调用
  • 查看请求处理步骤

显示 API 检查器的屏幕截图。

注意

目前,基本 v2 层级和标准 v2 层级不支持 API 请求跟踪。

先决条件

验证“允许跟踪”设置

若要跟踪请求处理,必须为用于调试 API 的订阅启用“允许跟踪”设置。 在门户中检查设置:

  1. 导航至 API 管理实例,然后选择“订阅”来查看设置。

    显示如何允许跟踪订阅的屏幕截图。

  2. 如果没有为正在使用的订阅启用跟踪,请选择订阅并启用“允许跟踪”。

警告

  • 仅允许跟踪用于调试目的的订阅。 与未经授权的用户共享允许跟踪的订阅密钥,可能会导致跟踪日志中包含的敏感信息泄露,例如密钥、访问令牌、密码、内部主机名和 IP 地址。
  • 在测试控制台中,在订阅上启用跟踪 1 小时后,API 管理会自动禁用跟踪。

跟踪调用

  1. 登录到 Azure 门户,并导航到 API Management 实例。

  2. 选择“API”。

  3. 在 API 列表中选择“演示会议 API”。

  4. 选择“测试”选项卡。

  5. 选择“GetSpeakers”操作。

  6. (可选)通过选择“眼睛”图标,检查请求中使用的 Ocp-Apim-Subscrition-Key 标头的值。

    提示

    可通过在门户中检索另一个订阅的密钥来替代 Ocp-Apim-Subscription-Key 的值。 选择“订阅”,然后打开另一个订阅的上下文菜单 (…)。 选择“显示/隐藏密钥”并复制其中一个密钥。 也可以按需再生成密钥。 然后,在测试控制台中,选择“+ 添加标头”以使用新密钥值添加 Ocp-Apim-Subscrition-Key 标头。

  7. 选择“跟踪”。

    • 如果订阅还不允许跟踪,系统会提示你启用它(如果你想跟踪调用)。

    • 也可选择发送请求而不跟踪。

      显示配置 API 跟踪的屏幕截图。

查看跟踪信息

  1. 调用结束后,转到“HTTP 响应”中的“跟踪”选项卡。

  2. 选择以下任何链接跳转到详细跟踪信息:入站、后端、出站、出错时。

    查看响应跟踪

    • 入站 - 显示从调用方收到的原始请求 API 管理和应用于该请求的策略。 例如,如果你在教程:转换和保护 API 中添加了策略,它们就会出现在此处。

    • 后端 - 显示 API 管理发送到 API 后端的请求以及收到的响应。

    • 出站 - 显示在将响应发送给调用方之前应用于该响应的策略。

    • 出错时 - 显示在处理请求期间发生的错误以及应用于错误的策略。

    提示

    每个步骤还显示了自 API 管理收到请求以来消逝的时间。

  3. 在“消息”选项卡上,ocp-apim-trace-location 标头显示存储在 Azure blob 存储中的跟踪数据所在的位置 。 如果需要,请转到此位置以检索跟踪。 跟踪数据最多可访问 24 小时。

    Azure 存储中的跟踪位置

使用 Ocp-Apim-Trace 标头启用跟踪

使用 curl、REST 客户端(如 Postman)或客户端应用向 API 管理发出请求时,通过添加以下请求标头来启用跟踪:

  • Ocp-Apim-Trace - 将值设置为 true
  • Ocp-Apim-Subscription-Key - 将值设置为允许访问 API 的启用了跟踪的订阅的密钥

响应包括 Ocp-Apim-Trace-Location 标头,以及指向 Azure Blob 存储中跟踪数据的位置的 URL。

有关自定义跟踪信息的详细信息,请参阅跟踪策略。

后续步骤

在本教程中,你了解了如何执行以下操作:

  • 跟踪示例调用
  • 查看请求处理步骤

转到下一教程: