データをダウンロードするときのチェックサムの受信 - Amazon S3 Glacier

このページは、ボールトと 2012 RESTAPI年のオリジナルを使用する S3 Glacier サービスの既存のお客様のみを対象としています。

アーカイブストレージソリューションをお探しの場合は、Amazon S3、S3 Glacier Instant Retrieval、S3 Glacier Flexible Retrieval、S3 Glacier Deep Archive の S3 Glacier ストレージクラスを使用することをお勧めします。これらのストレージオプションの詳細については、「Amazon S3 ユーザーガイド」の「S3 Glacier ストレージクラス」およびS3 Glacier ストレージクラスを使用した長期データストレージ」を参照してください。 Amazon S3 これらのストレージクラスは Amazon S3 を使用しAPI、すべてのリージョンで利用でき、Amazon S3 コンソール内で管理できます。Storage Cost Analysis、Storage Lens、高度なオプションの暗号化機能などを提供します。

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

データをダウンロードするときのチェックサムの受信

ジョブの開始 API を使用してアーカイブを取得する場合は (「ジョブの開始 (POST ジョブ)」を参照)、オプションでアーカイブの取得範囲を指定できます。同様に、ジョブの出力の取得 API を使用してデータをダウンロードする場合は (「ジョブの出力の取得 (GET output)」を参照)、オプションでダウンロードするデータの範囲を指定できます。これらの範囲には、アーカイブのデータを取得およびダウンロードする際に理解していることが重要な 2 つの特性があります。取得する範囲は、アーカイブに対してメガバイト単位に調整する必要があります。データをダウンロードしたときにチェックサム値を受け取るには、取得する範囲とダウンロードする範囲が両方とも木構造ハッシュ可能である必要があります。この 2 つのタイプの範囲の調整は、次のように定義されています。

  • メガバイト整列-範囲 [StartByte, EndBytes] は 1 MB StartBytesで割り切れるときにメガバイト (1024*1024) で整列され、1 を足すと 1 MB で割り切れるか、指定したアーカイブの末尾 (アーカイブバイトサイズから 1 を引いた値) に等しくなります。EndBytesジョブの開始 API で使用する範囲 (指定した場合) は、メガバイト単位に調整する必要があります。

  • ツリーハッシュ整列-範囲 [StartBytes, EndBytes] は、その範囲で構築されたツリーハッシュのルートがアーカイブ全体のツリーハッシュ内のノードと同等である場合に限り、アーカイブに対してツリーハッシュアライメントされます。ダウンロードしたデータのチェックサム値を受け取るには、取得する範囲とダウンロードする範囲が両方とも木構造ハッシュ可能である必要があります。範囲の例およびアーカイブ木構造ハッシュとの関係については、「木構造ハッシュの例: 木構造ハッシュ可能なアーカイブの範囲を取得する」を参照してください。

    木構造ハッシュ可能な範囲は、メガバイト単位にも調整できることに注意してください。ただし、メガバイト単位に調整された範囲が木構造ハッシュ可能であるとは限りません。

以下は、アーカイブデータをダウンロードしたときにチェックサムを受け取る場合を示しています。

  • ジョブの開始リクエストで取得する範囲を指定せず、ジョブの取得リクエストでアーカイブ全体をダウンロードした場合。

  • ジョブの開始リクエストで取得する範囲を指定せず、ジョブの取得リクエストでダウンロードする木構造ハッシュ可能な範囲を指定した場合。

  • ジョブの開始リクエストで取得する木構造ハッシュ可能な範囲を指定し、ジョブの取得リクエストでその範囲全体をダウンロードした場合。

  • ジョブの開始リクエストで取得する木構造ハッシュ可能な範囲を指定し、ジョブの取得リクエストでダウンロードする木構造ハッシュ可能な範囲を指定した場合。

ジョブの開始リクエストで取得する範囲を指定し、その範囲が木構造ハッシュ可能ではない場合は、ジョブの取得リクエストでデータをダウンロードしたときにアーカイブデータを取得できますが、チェックサム値は返されません。

木構造ハッシュの例: 木構造ハッシュ可能なアーカイブの範囲を取得する

ボールト内に 6.5 MB のアーカイブがあり、アーカイブの 2 MB 分を取得するとします。ジョブの開始リクエストで 2 MB の範囲を指定する方法によって、データのダウンロード時にデータチェックサム値を受け取るかどうかが決定されます。次の図は、6.5 MB のアーカイブに対してダウンロードできる 2 つの 2 MB の範囲を示しています。両方ともメガバイト単位に調整されていますが、木構造ハッシュ可能な範囲は 1 つのみです。

ツリーハッシュアライメントされたアーカイブ範囲の取得を示す図。

木構造ハッシュ可能な範囲の指定

このセクションでは、木構造ハッシュ可能な範囲の正確な指定について説明します。木構造ハッシュ可能な範囲は、アーカイブの一部分をダウンロードするときに、取得する範囲のデータと、取得したデータからダウンロードする範囲を指定する場合に重要です。これらの範囲が両方とも木構造ハッシュ可能である場合は、データをダウンロードしたときにチェックサムデータを受け取ります。

範囲 [A,B] は、新しい木構造ハッシュが[A,B]の上に構築されるとき、その範囲の木ハッシュのルートがアーカイブ全体の木構造ハッシュ内のノードに相当する場合のみ、アーカイブに関してアラインされています。これについては、「木構造ハッシュの例: 木構造ハッシュ可能なアーカイブの範囲を取得する」の図に示されています。このセクションでは、木構造ハッシュ可能な範囲の指定について説明します。

[P, Q) を、N メガバイト (MB) のアーカイブの範囲クエリとします。P および Q は 1 MB の倍数です。実際に含まれる範囲は [P MB,Q MB 1 バイト] ですが、単純化のために、[P, Q) と表しています。これらの前提に立つと、次のようになります。

  • ​P が奇数の場合、木構造ハッシュ可能な範囲は 1 つのみ、つまり [P, P + 1 MB) です。

  • もしP.偶数を指定しますk.は、最大数です。P.2.k.*Xとすると、最大でも存在しているk.木構造ハッシュ可能な範囲P.Xは、0 より大きい整数です。木構造ハッシュ可能な範囲は、次のカテゴリに含まれます。

    • それぞれの i に対して、(0 <= i <= k) で、P + 2i < N の場合、[P, Q + 2i) は木構造ハッシュ可能な範囲です。

    • P = 0 は、A = 2[lgN]*0 である特殊なケースです。