校驗上傳對象的數據一致性
更新時間 2023-12-20 15:15:04
最近更新時間: 2023-12-20 15:15:04
分享文章
本文介紹如何校驗上傳對象的數據一致性。
應用場景
媒體存儲提供了數據一致性校驗功能,可以避免因為網絡劫持、數據緩存等原因導致的數據不一致問題。
能力概述
媒體存儲提供通過計算MD5值的方式對上傳的數據進行一致性校驗。默認情況下,服務不會進行一致性校驗。
上傳對象時,客戶端需要先計算出對象的MD5值然后攜帶上傳至媒體存儲,媒體存儲服務端再根據上傳的對象內容計算出MD5值,最終與攜帶上傳的MD5值進行對比。
如果對比結果一致,對象上傳成功,否則上傳失敗。
具體校驗邏輯如下圖所示:

校驗方法
- 本地對象計算出的MD5值作為請求頭。
- 上傳時設置請求消息參數Content-MD5為本地計算得出的校驗值,具體示例如下:
-
請求示例:
PUT /v1/testbucket/test HTTP/1.1 -
請求頭header:
Host:gdoss.xstore.daliqc.cn Date:Wed, 28 Oct 2023 09:32:00 GMT Authorization:authorization string Content-Type:text/plain Content-Length:1145 Content-MD5:gnzLDu***********hOew== -
請求體body:
實際文件數據。
-
- MD5計算方式為:openssl dgst -md5 -binary 上傳的對象(example.txt) | base64 。