概觀
組織不斷建立數位資產,並將其遷移至
Amazon S3。這些資產包括影像、二進位檔案、後製轉譯等等,所有這些都是業務關鍵型資產。隨著資產在工作流程中遷移和使用,您要確保檔案不因網路損壞、硬碟故障或其他意外問題而更改。如今,該產業使用演算法逐位元組掃描檔案,以產生不重複的指紋,稱為檢查總和。
使用檢查總和,您可以確認資產在複製時未經更改。執行檢查總和包括使用演算法,來依序反覆運作檔案中的每一個位元組。
Amazon S3 提供多種檢查總和選項,以加速資料完整性檢查。當客戶上傳物件時,這些功能會計算檔案的檢查總和。將大量資料遷移至 Amazon S3 的客戶,希望執行這些完整性檢查做為耐久性最佳實務,並確認每個位元組都能在不更改的情況下傳輸。這可讓客戶維護端對端資料完整性。物件上傳時會建立檢查總和,並在物件的整個生命週期保留該檢查總和。下載物件時,會在最後驗證相同的檢查總和,以提供端對端資料完整性。Amazon S3 支援的額外演算法包括:SHA-1、SHA-256、CRC32 和 CRC32-C。使用這些新的資料完整性檢查功能,您可以確認檔案在資料傳輸期間或上傳或下載期間未經更改。
待完成事項
- 將檔案上傳至 Amazon S3
- 比較 Amazon S3 和本機檔案上的檢查總和以驗證資料完整性
先決條件
您需要一個 AWS 帳戶才能完成本教學。
存取此支援頁面,了解有關如何建立和啟用新 AWS 帳戶的詳細資訊。
實作
步驟 1:建立 Amazon S3 儲存貯體
- 1.2 – 建立 S3 儲存貯體
- 從左側 Amazon S3 選單中,選擇儲存貯體,然後選擇建立儲存貯體按鈕。
- 1.3
- 為儲存貯體輸入一個全域唯一的描述性名稱。選取您希望在其中建立儲存貯體的 AWS 區域。預設的封鎖公開存取設定適合此工作負載,因此保留該區段的設定。
- 您可以將剩餘的選項保留為預設值,導覽至頁面底部,然後選擇建立儲存貯體。
步驟 2:上傳檔案並指定檢查總和演算法
現在已建立並設定您的儲存貯體,您可以隨時上傳檔案,並藉由 Amazon S3 計算檢查總和。
- 2.2
- 接下來,選取物件標籤。然後在物件區段中,選擇上傳按鈕。
- 2.3 – 新增檔案
- 選擇新增檔案按鈕,然後從檔案瀏覽器中選取您要上傳的檔案。
- 2.4 – 展開屬性
- 向下導覽頁面,以尋找屬性區段。然後,選取屬性並展開該區段。
- 2.5 – 選擇額外檢查總和
- 在「額外檢查總和」下,選取「開啟」選項並選擇 SHA-256。
如果您的物件小於 16 MB,並且您已計算 SHA-256 檢查總和 (base64 編碼),您可以在「預先計算值」輸入方塊中提供。若要針對大於 16 MB 的物件使用此功能,您可以使用 CLI 或 SDK。Amazon S3 收到物件時,會使用指定的演算法計算檢查總和。如果檢查總和值不相符,Amazon S3 會產生錯誤並拒絕上傳,如螢幕擷取畫面所示。
- 2.6 – 上傳
- 向下導覽頁面,然後選擇上傳按鈕。
- 2.7
- 上傳完成後,選擇關閉按鈕。
步驟 3:驗證檢查總和
- 3.1
- 選取檔案名稱以選擇上傳的文件。這會將帶您到屬性頁面。
- 3.2 – 找到檢查總和值
- 向下導覽屬性頁面,您會找到額外檢查總和區段。
- 本節顯示 Amazon S3 在上傳時計算和驗證的 base64 編碼檢查總和。
- 3.3 – 比較
- 若要比較本機電腦中的物件,請開啟終端視窗,然後導覽至檔案所在的位置。
- 使用 shasum 之類的公用程式來計算檔案。下列命令在相同的檔案上執行 sha256 計算,並將十六進位輸出轉換為 base64: shasum -a 256 image.jpg | cut -f1 -d\ | xxd -r -p | base64
- 比較此值時,應與 Amazon S3 主控台中的值相符。
步驟 4:清除
在接下來的步驟中,您將清除在本教學中建立的資源。最佳實務是刪除不再使用的資源,以免產生意外費用。
- 4.2 – 刪除測試儲存貯體
- 最後,您需要刪除已建立的測試儲存貯體。回到您帳戶中的儲存貯體清單。選取為本教學建立的儲存貯體左側的選項按鈕,然後選擇刪除按鈕。檢視警告訊息。如果要繼續刪除此儲存貯體,請在刪除儲存貯體確認方塊中輸入儲存貯體的名稱,然後選擇刪除儲存貯體。
結語
恭喜您! 您已了解如何將檔案上傳至 Amazon S3、計算額外檢查總和,以及比較 Amazon S3 和本機檔案上的檢查總和,以驗證資料完整性。
後續步驟
若要進一步了解檢查總和,請瀏覽下列資源。