チェックサムによるデータ整合性保護 - AWS SDK for Java 2.x

チェックサムによるデータ整合性保護

Amazon Simple Storage Service (Amazon S3) では、オブジェクトをアップロードするときにチェックサムを指定できます。チェックサムを指定すると、そのチェックサムはオブジェクトとともに保存され、オブジェクトのダウンロード時に検証できます。

チェックサムは、ファイルを転送する際のデータの整合性をさらに強化します。チェックサムを使用すると、受信したファイルが元のファイルと一致することを確認することで、データ整合性を検証できます。Amazon S3 でのチェックサムの詳細については、サポート対象アルゴリズムなど、「Amazon Simple Storage Service ユーザーガイド」を参照してください。

ニーズに最適なアルゴリズムを柔軟に選択して、SDK にチェックサムを計算させることができます。または、サポートされているアルゴリズムのいずれかを使用して、事前に計算された独自のチェックサム値を指定することもできます。

注記

SDK には、外部で設定できるデータ整合性保護のグローバル設定も用意されています。詳細については、「AWS SDK とツールリファレンスガイド」を参照してください。

チェックサムについては、オブジェクトのアップロードとオブジェクトのダウンロードという 2 つのリクエストフェーズで説明します。

オブジェクトのアップロード

リクエストでチェックサムアルゴリズムを指定しない場合、チェックサムの動作は、次の表に示すように、使用する SDK のバージョンによって異なります。

チェックサムアルゴリズムが指定されていない場合のチェックサムの動作

事前に計算されたチェックサム値を使用してください。

リクエストで事前に計算されたチェックサム値を指定すると、SDK による自動計算が無効になり、代わりに提供された値が使用されます。

次の例は、事前に計算された SHA256 チェックサムを含むリクエストを示しています。

Amazon S3 が、指定されたアルゴリズムのチェックサム値が正しくないと判断した場合、サービスはエラーレスポンスを返します。

マルチパートアップロード

チェックサムはマルチパートアップロードでも使用できます。

オブジェクトのダウンロード

メソッドを使用してオブジェクトをダウンロードすると、SDK は チェックサムを自動的に検証します。

次のスニペット内のリクエストは、チェックサムを計算して値を比較することでレスポンス内のチェックサムを検証するよう SDK に指示します。

注記

オブジェクトがチェックサム付きでアップロードされなかった場合、検証は行われません。