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進行比對,兩者一致時才可以上傳成功,從而保證上傳資料的一致性。 說明
關於如何進行MD5校正,請參見OSS MD5一致性校正說明。 |
crc64 | 用於資料完整性校正。由服務端計算出來傳給用戶端,用戶端來做對比。 | 如果需要校正上傳到OSS的檔案和本地檔案是否一致,可以使用crc64校正。OSS現在支援對各種方式上傳的Object返回其crc64值,用戶端可以和本地計算的crc64值做對比,從而完成資料完整性的驗證。 說明 MultipartComplete時,如果所有的Part都有crc64值,則會返回整個Object的crc64值,可以用來校正。 關於如何進行crc64校正,請參見通過crc64校正資料轉送的完整性。 |