本文主要介紹在OSS控制臺刪除碎片文件顯示“請求不成功”時如何處理。
詳細信息
在OSS控制臺中存在部分碎片文件,清理碎片時無法正常刪除,報“請求不成功,請重試”錯誤,可通過以下方法逐步進行排查。
收集控制臺頁面刪除時調用abort_multi_part_uploads.json請求的
Form Data
和Preview
的結果。從以上結果中確認該錯誤為前端錯誤,并且對應requestId為前端的Id。
排查該requestId,獲得如下的報錯信息,從該錯誤信息確認Object名稱不符合要求,而做了限制。
「java.lang.IllegalArgumentException: The object key is invalid. An object name should be between 1 - 1023 bytes long when encoded as UTF-8 and cannot contain LF or CR or unsupported charts in XML1.0.」
進一步獲取該碎片文件的詳細信息如下,發現該碎片文件的
Object Name
以正斜線(/)開頭,而在控制臺前端對于該參數做了限制導致請求根本沒有發送到后端。{ "region": [ "oss-cn-XXXX" ], "objectName": [ "/2017-02-22/bk.XXXX_r_bj.2017-02-22.gz,/2017-04-01/bk.XXXX_r_bj.2017-04-01.gz" ], "uploadId": [ "5557BCXXXXXXXXXXC6206E6,F23072A1DXXXXXXXXXXXX8D2D3499" ], "bucketName": [ "redisXXXXkup" ] }
控制臺以及部分SDK(例如
Java SDK
)對于文件參數的合法性做了限制,導致對于異常的參數會直接報錯。這類文件需要通過限制的工具或者API操作進行刪除。說明對于異常文件可以嘗試使用ossutil或者osscmd兩個工具進行刪除,這兩個工具沒有對參數合法性進行限制。
文檔內容是否對您有幫助?