在 Amazon S3 中檢查物件完整性 - Amazon Simple Storage Service

在 Amazon S3 中檢查物件完整性

Amazon S3 在整個物件的儲存生命週期中,提供各種資料保護功能。您可以藉由 Amazon S3 來使用檢查總和值,驗證上傳或下載的資料完整性。此外,您可以請求為儲存在 S3 中的任何物件計算另一個檢查總和值。

上傳、複製或管理資料時,您可以從數種支援的檢查總和演算法中選擇:

  • CRC-64/NVME (CRC64NVME)

    注意

    CRC64NVME 檢查總和演算法,是用於檢查總和計算的預設檢查總和演算法。

  • CRC-32 (CRC32)

  • CRC-32C (CRC32C)

  • SHA-1 (SHA1)

  • SHA-256 (SHA256)

  • MD5 (MD5)

    注意

    對於分段上傳,運算檢查總和作業會使用 MD5 來提供完整的物件檢查總和值,而這在上傳期間是行不通的。對於單一部分上傳,content-MD5 header 只能使用物件的 S3 ETag,且必須使用 SSE-S3 加密。

當您上傳物件至 S3 時,可以指定使用這些檢查總和演算法的任何部分。對於上傳,所有 AWS 擁有的用戶端都會計算物件的檢查總和,並與上傳請求一起傳送。然後,S3 會單獨計算伺服器端物件的檢查總和值,並在儲存物件和檢查總和值之前,使用提供的值進行驗證。當執行單一部分上傳或分段上傳時,您也可以提供這些檢查總和演算法的預先計算值 (使用分段上傳的完整物件檢查總和類型)。若要對多個物件使用預先計算的值,請使用 AWS CLI 或 AWS SDK。

或者,如果您想要在 S3 中驗證資料集,而不需還原或下載資料,您可以搭配 S3 Batch Operations 使用運算檢查總和作業。運算檢查總和作業,可讓您有效驗證一個任務請求中的數十億個物件。執行運算檢查總和作業時,S3 會計算靜態物件清單的檢查總和值。在任務請求結束時,您會收到自動產生的完整性報告 (也稱為完成報告),可用來確認資料集保持不變。