による Amazon S3 チェックサム - AWS SDK for PHP

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

による Amazon S3 チェックサム

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

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

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

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

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

このアルゴリズムの有効な値はCRC32CRC32CSHA1、および SHA256 です。

次のコードスニペットは、CRC-32 チェックサムを含むオブジェクトをアップロードするリクエストを示しています。SDK はリクエストを送信すると、CRC-32 チェックサムを計算してオブジェクトをアップロードします。Amazon S3 はオブジェクトと共にチェックサムを保存します。

SDK が計算するチェックサムが、Amazon S3 がリクエストを受信したときに計算するチェックサムと一致しない場合、エラーが返されます。

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

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

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

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

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

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

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

getObject メソッドを使用してオブジェクトをダウンロードすると、SDK は

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

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

Amazon S3 のオブジェクトには複数のチェックサムを設定できますが、ダウンロード時に検証されるチェックサムは 1 つだけです。SDK が検証するチェックサムは、チェックサムアルゴリズムの効率性に基づいた次の優先順位によって決まります。

  1. CRC-32C

  2. CRC-32

  3. SHA-1

  4. SHA-256

たとえば、レスポンスに CRC-32 と SHA-256 の両方のチェックサムが含まれている場合、CRC-32 チェックサムのみが検証されます。