2017-06-12 23 views
0

我们有订单提交两次的生产问题。目前我们有一个订单API,我们正在使用API​​管理向客户展示这些API,并且在这些方面我们制定了面向客户的URL映射策略。如何识别在azure API管理中收到的请求

现在,我们的实际API得到了2个请求,所以我们认为客户提交了两次,但他们已经确认他们没有提交两次,所以无论是API管理引发了两个请求的问题。

如何识别API管理接收到的请求? API管理有没有可能两次触发请求?

欣赏任何指针

回答

0

在APIM两次触发请求将通过重试策略的手段,或者使用手动sendRequest将唯一的方法。否则,它应该是一个客户端调用你的API两次。 APIM中的每个请求都获得它自己的唯一身份标识,可以在策略中作为context.RequestId访问,这是跟踪和识别它们的主要方式。但是这些id是在APIM内部生成的,因此只有在跟踪来自APIM的呼叫并进入后端时才有用。

现在最好的选择是尝试通过客户端ip,方法,uri和时间范围识别请求。 APIM允许您以JSON或CSV格式与上述数据一起抓取日志一段时间(如果保持较短时间,则更好)。要做到这一点看看byRequest报告(https://docs.microsoft.com/en-us/rest/api/apimanagement/reports#ReportByRequest),抢JSON/CSV并尝试找出的利益要求,

为了将来你可以看看入职为您服务,蔚蓝的监视器(https://docs.microsoft.com/en-us/azure/api-management/api-management-howto-use-azure-monitor)或登录分析那些提供更简单的方法遍历日志。