zoukankan      html  css  js  c++  java
  • 【Azure API 管理】为调用APIM的请求启用Trace 调试APIM Policy的利器

    问题描述

    在APIM中,通过门户上的 Test 功能,可以非常容易的查看请求的Trace信息,帮助调试 API 对各种Policy,在InboundBackend, 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

    参考资料

    教程:使用请求跟踪调试 APIhttps://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

    当在复杂的环境中面临问题,格物之道需:浊而静之徐清,安以动之徐生。 云中,恰是如此!

  • 相关阅读:
    数据结构-堆(优先队列)习题
    数据结构-二叉搜索树习题
    数据结构-树习题
    数据结构-队列习题
    数据结构-堆栈习题
    数据结构-链表习题
    数据结构-顺序表习题
    数据结构-概论习题
    C语言中的stdin,stdout,stderr[转]
    SQL Server 查询数据库表结构
  • 原文地址:https://www.cnblogs.com/lulight/p/15746073.html
Copyright © 2011-2022 走看看