2017-06-12 61 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)或登錄分析那些提供更簡單的方法遍歷日誌。