【Azure API 管理】为调用APIM的请求启用Trace -- 调试APIM Policy的利器
问题描述
在APIM中,通过门户上的 Test 功能,可以非常容易的查看请求的Trace信息,帮助调试 API 对各种Policy,在Inbound,Backend, Outbound部分的耗时问题,对其进行错误消息的排查。
但是,当调用APIM 请求遇见错误,且不容易通过门户Test复现,需要在真实的请求中添加Trace,如何实现呢?
问题解答
问题的关键在于调用APIM请求时,Request Header 中必须包含的参数 Ocp-Apim-Trace, 并设置值为True。需要注意的是Ocp-Apim-Trace 需要和 Ocp-Apim-Subscription-Key 配对出现,才能起效。 当请求发送后,请求从APIM的响应(Response)的Header中会包含 ocp-apim-trace-location
,它的值就是该请求的Trace文件在Stroage Account存储的URL,下载到本地后即可查看Trace内容。
Request Header:
Ocp-Apim-Subscription-Key: 【需要替换为您使用APIM的订阅Key,附录中介绍如何获取】 Ocp-Apim-Trace: true
Response Header:
ocp-apim-apiid: echo-api ocp-apim-operationid: create-resource ocp-apim-subscription-key: 1c29xxxxxxxxxxxxxxxxxx14 ocp-apim-subscriptionid: master ocp-apim-trace-location: https://apimstxxxxxxxxxxxxxxxxxyes.blob.core.chinacloudapi.cn/apiinspectorcontainer/hgtE3oZBC-JQDrgxxxxx
动画展示通过Postman设置 Ocp-Apim-Trace 和获取Trace文件:
附录一:如何从APIM门户中获取到 Ocp-Apim-Subscription-Key
登录Azure APIM门户 --> 进入左侧 Subscriptions目录,在Subscriptions 列表中选择与当前使用API对应的Subscription Key
同时,也是要确认当前订阅是否允许Tracing
参考资料
教程:使用请求跟踪调试 API:https://docs.azure.cn/zh-cn/api-management/api-management-howto-api-inspector
Azure API 管理中的订阅: https://docs.azure.cn/zh-cn/api-management/api-management-subscriptions
当在复杂的环境中面临问题,格物之道需:浊而静之徐清,安以动之徐生。 云中,恰是如此!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?
2020-12-29 【Azure 应用服务】在Azure Funciton中使用Powershell脚本函数,需要存储一些变量值如何解决?