數據一致性校驗
更新時間 2024-06-07 11:36:02
最近更新時間: 2024-06-07 11:36:02
分享文章
本文介紹對象存儲數據一致性校驗的操作場景、前提條件與操作步驟。
操作場景
數據在客戶端和服務器間傳輸時可能會出現錯誤,可以在上傳文件時攜帶文件的Content-MD5值。服務端會在接收文件時,將接收到的數據MD5校驗值與用戶設置的MD5校驗值進行比對,兩者一致時才可以上傳成功,從而保證上傳數據的一致性。
校驗上傳對象的一致性
- 計算MD5加密的二進制數組并記錄。
- 上傳對象時,設置請求消息參數Content-MD5為本地計算得出的校驗值,消息參考如下:
PUT /{Bucket}/{Key} HTTP/1.1 Host: xxx-對象存儲.daliqc.cn X-Amz-Content-Sha256: e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 X-Amz-Date: 20220406T134209Z Authorization: authorization string Content-MD5: ContentMD5 Body - 進行對象MD5校驗。
服務端收到上傳請求后,自動進行對象MD5校驗,當校驗一致時上傳成功,否則上傳失敗。
校驗下載對象的一致性
- 上傳對象時,通過自定義元數據的方式記錄該對象的元數據信息。需在請求參數中攜帶如下字段標識。
x-amz-meta-<…>: MD5 - 下載數據后,從下載響應消息中獲取自定義的元數據MD5信息。再重新計算對象的校驗值,與該自定義元數據進行比較,驗證下載對象和原對象是否一致。