在 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 會計算靜態物件清單的檢查總和值。在任務請求結束時,您會收到自動產生的完整性報告 (也稱為完成報告),可用來確認資料集保持不變。