パートのアップロード (PUT uploadID) - Amazon S3 Glacier

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

パートのアップロード (PUT uploadID)

説明

このマルチパートアップロードオペレーションでは、アーカイブのパートをアップロードします。パートのアップロードのリクエストでは、アセンブル済みのアーカイブの中からこのパートでアップロードするバイト範囲を指定することになるため、任意の順序でアーカイブのパートをアップロードできます。このほか、複数のパートを並行してアップロードすることもできます。マルチパートアップロードでは、最大 10,000 パートをアップロードできます。

マルチパートアップロードの詳細については、「パート単位での大きなアーカイブのアップロード (マルチパートアップロード)」を参照してください。

Amazon S3 Glacier (S3 Glacier) では、以下の条件のいずれかが true のときは、パートのアップロードのリクエストが拒否されます。

  • SHA256 木構造ハッシュが一致しない- 送信中にパートデータが破損していないことを確認するため、パートの SHA256 木構造ハッシュを計算し、リクエストに含める必要があります。パートデータを受け取った時点で、S3 Glacier でも SHA256 木構造ハッシュを計算します。この 2 つのハッシュ値が一致しない場合、オペレーションは失敗となります。SHA256 木構造ハッシュの計算の詳細については、「チェックサムの計算」を参照してください。

  • SHA256 の線形ハッシュが一致しない-認可のため、アップロードされるペイロード全体の SHA256 線形ハッシュを計算し、リクエストに含める必要があります。SHA256 線形ハッシュの計算については、「チェックサムの計算」を参照してください。

  • パートのサイズが一致しない-(最後のパートを除く) 各パートのサイズは、対応する マルチパートアップロードの開始 (POST multipart-uploads) リクエストで指定されているサイズに一致している必要があります。最後のパートのサイズは、指定されたサイズ以下になっていることが必要です。

    注記

    マルチパートアップロードの開始リクエストで指定したサイズよりも小さなサイズのパートをアップロードし、そのパートが最後のパートでない場合でも、パートのアップロードのリクエストは成功します。ただし、次のマルチパートアップロードの完了リクエストは失敗します。

  • 範囲が一致しない-リクエストのバイト範囲の値が、対応する開始リクエストで指定されているパートサイズと一致しない場合です。たとえば、パートサイズを 4194304 バイト (4 MB) に指定した場合であれば、0​-4194303 バイト (4 MB-1) および 4194304 (4 MB) -​8388607 (8 MB-1) が有効なパート範囲になります。これに対して、範囲の値を 2 MB​~​6 MB に設定した場合には、範囲がパートのサイズに一致しないため、アップロードが失敗します。

このオペレーションはべき等です。同じパートを複数回アップロードすると、最新のリクエストに含まれるデータによって、既にアップロードされたデータが上書きされます。

リクエスト

PUTリクエストは、マルチパートアップロードの開始リクエストによって返されるアップロード ID の URI に送信されます。S3 Glacier では、アップロード ID を使用してパートアップロードを特定のマルチパートアップロードに関連付けます。リクエストには、パートデータの SHA256 木構造ハッシュ (x-amz-SHA256-tree-hash ヘッダー)、ペイロード全体の SHA256 線形ハッシュ (x-amz-content-sha256 ヘッダー)、バイト範囲 (Content-Range ヘッダー)、およびパートの長さのバイト数 (Content-Length ヘッダー) を含める必要があります。

構文

PUT /AccountId/vaults/VaultName/multipart-uploads/uploadID HTTP/1.1 Host: glacier.Region.amazonaws.com Date: Date Authorization: SignatureValue Content-Range: ContentRange Content-Length: PayloadSize Content-Type: application/octet-stream x-amz-sha256-tree-hash: Checksum of the part x-amz-content-sha256: Checksum of the entire payload x-amz-glacier-version: 2012-06-01

注記

-AccountIdvalueAWS アカウントボールトを所有するアカウントの ID。AWS アカウント ID、または Amazon S3 Glacier がリクエストの署名に使用した認証情報に関連する AWS アカウント ID を使用している場合はオプションで`-`「-」のどちらかを指定できます。アカウント ID を使用する場合は、ID にハイフン ('-') を含めないでください。

リクエストパラメータ

このオペレーションではリクエストパラメータを使用しません。

リクエストヘッダー

この操作では、すべての操作で共通のリクエストヘッダーに加えて、次のリクエストヘッダーを使用します。共通のリクエストヘッダーの詳細については、「一般的なリクエストヘッダー」を参照してください。

[Name] (名前) 説明 必須
Content-Length

パートの長さをバイト単位で特定します。

Type: 文字列

デフォルト: なし

制約: なし

いいえ
Content-Range

このパートでアップロードされるアセンブル済みアーカイブのバイト範囲を識別します。S3 Glacier では、この情報を使用してアーカイブを適切な順序でアセンブルします。このヘッダーの形式は、RFC 2616 に準拠しています。ヘッダーはたとえば、Content-Range:bytes 0-4194303/* のようになります。

Type: 文字列

デフォルト: なし

制約: この範囲は、マルチパートアップロードを開始するときに指定したパートサイズよりも大きくすることはできません。

はい
x-amz-content-sha256

アップロードされるペイロードの SHA256 チェックサム (線形ハッシュ)。この値は、x-amz-sha256-tree-hash ヘッダーで指定する値とは異なります。

Type: 文字列

デフォルト: なし

制約: なし

はい
x-amz-sha256-tree-hash

アップロードするデータの SHA256 木構造ハッシュを指定します。SHA256 木構造ハッシュの計算の詳細については、「チェックサムの計算」を参照してください。

Type: 文字列

デフォルト: なし

制約: なし

はい

リクエスト本文

リクエストボディには、アップロードするデータを含めます。

レスポンス

S3 Glacier は、パートのアップロードが正常に終了すると、204 No Content レスポンスを返します。

構文

HTTP/1.1 204 No Content x-amzn-RequestId: x-amzn-RequestId Date: Date x-amz-sha256-tree-hash: ChecksumComputedByAmazonGlacier

レスポンスヘッダー

成功したレスポンスには、すべての操作に共通のレスポンスヘッダーに加えて、次のレスポンスヘッダーが含まれます。共通のレスポンスヘッダーの詳細については、「共通のレスポンスヘッダー」を参照してください。

[Name] (名前) 説明
x-amz-sha256-tree-hash

アップロードされたパートについて S3 Glacier が計算した SHA256 木構造ハッシュ。

Type: 文字列

レスポンス本文

このオペレーションでは、レスポンス本文は返しません。

以下に示すリクエストでは、4 MB のパートをアップロードします。このリクエストでは、このパートをアーカイブの最初のパートにするようにバイト範囲を設定しています。

リクエストの例

この例では、4 MB のパートをアップロードする HTTP PUT リクエストを送信します。リクエストは、マルチパートアップロードの開始リクエストによって返されるアップロード ID の URI に送信されます。Content-Range ヘッダーでは、このパートがアーカイブの最初の 4 MB のデータに相当するものであることを指定しています。

PUT /-/vaults/examplevault/multipart-uploads/OW2fM5iVylEpFEMM9_HpKowRapC3vn5sSL39_396UW9zLFUWVrnRHaPjUJddQ5OxSHVXjYtrN47NBZ-khxOjyEXAMPLE HTTP/1.1 Host: glacier.us-west-2.amazonaws.com Date: Wed, 10 Feb 2017 12:00:00 GMT Content-Range:bytes 0-4194303/* x-amz-sha256-tree-hash:c06f7cd4baacb087002a99a5f48bf953 x-amz-content-sha256:726e392cb4d09924dbad1cc0ba3b00c3643d03d14cb4b823e2f041cff612a628 Content-Length: 4194304 Authorization: Authorization=AWS4-HMAC-SHA256 Credential=AKIAIOSFODNN7EXAMPLE/20141123/us-west-2/glacier/aws4_request,SignedHeaders=host;x-amz-content-sha256;x-amz-date;x-amz-glacier-version,Signature=16b9a9e220a37e32f2e7be196b4ebb87120ca7974038210199ac5982e792cace

次のパートをアップロードする手順も、これと同じです。ただし、アップロードするパートの新しい SHA256 木構造ハッシュを計算するとともに、新しいバイト範囲を指定し、そのパートが最後のアセンブリで置かれる場所を示す必要があります。次のリクエストは、同じアップロード ID を使用して別のパートをアップロードするものです。このリクエストでは、アーカイブのうち、前回のリクエスト以降の 4 MB 分の範囲と、4 MB というパートサイズを指定しています。

PUT /-/vaults/examplevault/multipart-uploads/OW2fM5iVylEpFEMM9_HpKowRapC3vn5sSL39_396UW9zLFUWVrnRHaPjUJddQ5OxSHVXjYtrN47NBZ-khxOjyEXAMPLE HTTP/1.1 Host: glacier.us-west-2.amazonaws.com Date: Wed, 10 Feb 2017 12:00:00 GMT Content-Range:bytes 4194304-8388607/* Content-Length: 4194304 x-amz-sha256-tree-hash:f10e02544d651e2c3ce90a4307427493 x-amz-content-sha256:726e392cb4d09924dbad1cc0ba3b00c3643d03d14cb4b823e2f041cff612a628 x-amz-glacier-version: 2012-06-01 Authorization: Authorization=AWS4-HMAC-SHA256 Credential=AKIAIOSFODNN7EXAMPLE/20120525/us-west-2/glacier/aws4_request, SignedHeaders=host;x-amz-content-sha256;x-amz-date;x-amz-glacier-version, Signature=16b9a9e220a37e32f2e7be196b4ebb87120ca7974038210199ac5982e792cace

パートは、任意の順序でアップロードできます。S3 Glacier では、各パートの範囲として指定された値を使用して、アセンブルする順序を決定します。

レスポンスの例

HTTP/1.1 204 No Content x-amzn-RequestId: AAABZpJrTyioDC_HsOmHae8EZp_uBSJr6cnGOLKp_XJCl-Q x-amz-sha256-tree-hash: c06f7cd4baacb087002a99a5f48bf953 Date: Wed, 10 Feb 2017 12:00:00 GMT