天天看點

OSS PostObject未發生回調的問題排查

今天排查一個問題,走了一些彎路,總結一下,希望可以為後來者提供參考建議。

XX回報,使用OSS PostObject的callback沒有發生回調。但是通過putobject用同樣的callback是有回調發生的。客戶懷疑我們的PostObject有問題。

OSS回調流程為 用戶端->OSS->應用伺服器->用戶端

OSS PostObject未發生回調的問題排查

建立一台ECS用于當測試應用伺服器

建立一個asp.net 的ashx,代碼自行實作,用于擷取OSS callback參數。

寫了兩個上傳demo

Put方式,應用伺服器上有OSS的回調請求。

OSS PostObject未發生回調的問題排查

Post方式,應用伺服器無任何回調請求

OSS PostObject未發生回調的問題排查

按理說,如果json格式有錯誤或者回調失敗,都應該會傳回對應的msg,而上傳後一切成功但為什麼沒有發生回調呢,難道是bug?不太可能,如果是線上bug,工單早就爆了。

檢查代碼和OSS後端同學溝通。檢查到在發送請求時callback的參數是在file下面。

OSS PostObject未發生回調的問題排查

這樣就會作為file的一部分。調整一下位置

OSS PostObject未發生回調的問題排查

業務伺服器上也如願的抓到了請求

OSS PostObject未發生回調的問題排查

總結一下就是細心,還是細心。不要急躁多調試,最終會得到想得到的。