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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  • もしP偶数であり、kは最大数です。ここで、P2 と書くことができますk*X、最大でk木構造ハッシュ可能な範囲PX0 より大きい整数です。木構造ハッシュ可能な範囲は、次のカテゴリに含まれます。

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

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