全部產品
Search
文件中心

Object Storage Service:資料一致性校正

更新時間:Jul 30, 2025

OSS支援ETag、MD5、crc64三種校正方式。

校正方式

使用情境

使用說明

ETag

用於判斷資源是否發生了變化。

ETag (entity tag) 在每個Object產生的時候被建立,用於標識一個Object的內容。對於Put Object請求建立的Object,ETag值是其內容的MD5值;對於其他方式建立的Object,ETag值是基於一定計算規則產生的唯一值,但不是其內容的MD5值。

說明

ETag值可以用於檢查Object內容是否發生變化。不建議使用ETag作為Object內容的MD5來校正資料完整性。

MD5

用於資料完整性校正。由用戶端計算通過Content-MD5傳給服務端,服務端來做對比。

如果需要校正上傳到OSS的檔案和本地檔案是否一致,可以在上傳檔案時攜帶檔案的Content-MD5值。OSS會在接收檔案時,將檔案的MD5值和Content-MD5進行比對,兩者一致時才可以上傳成功,從而保證上傳資料的一致性。

說明
  • putObject、getObject、appendObject、postObject、Multipart、uploadPart支援MD5校正。

  • CompleteMultipartUpload的Content-MD5校正不了檔案的資料完整性,校正的是CompleteMultipartUpload這個介面發送的請求體的資料完整性。

關於如何進行MD5校正,請參見OSS MD5一致性校正說明

crc64

用於資料完整性校正。由服務端計算出來傳給用戶端,用戶端來做對比。

如果需要校正上傳到OSS的檔案和本地檔案是否一致,可以使用crc64校正。OSS現在支援對各種方式上傳的Object返回其crc64值,用戶端可以和本地計算的crc64值做對比,從而完成資料完整性的驗證。

說明

MultipartComplete時,如果所有的Part都有crc64值,則會返回整個Object的crc64值,可以用來校正。

關於如何進行crc64校正,請參見通過crc64校正資料轉送的完整性