このページは、2012 年にリリースされた当初のボールトと REST API を使用する、S3 Glacier サービスの既存のお客様を対象としたものです。
アーカイブストレージソリューションをお探しの場合は、Amazon S3 の S3 Glacier ストレージクラス (S3 Glacier Instant Retrieval、S3 Glacier Flexible Retrieval、S3 Glacier Deep Archive) を使用することをお勧めします。これらのストレージオプションの詳細については、「Amazon S3 ユーザーガイド」の「S3 Glacier ストレージクラス
マルチパートアップロードの完了 (POST uploadID)
説明
アーカイブのすべてのパーツがアップロードされ、S3 Glacier がアップロードされたパーツからアーカイブをアセンブルする準備ができたことを Amazon S3 Glacier (S3 Glacier) に通知するには、このマルチパートアップロードオペレーションを呼び出します。
マルチパートアップロードの詳細については、「パート単位での大きなアーカイブのアップロード (マルチパートアップロード)」を参照してください。
S3 Glacier では、アーカイブをアセンブルして、ボールトに保存した後、新しく作成されたアーカイブリソースのアーカイブ ID を返します。アーカイブをアップロードしたら、後でアーカイブを取得するために、返されたアーカイブ ID を保管しておく必要があります。
アップロードしたアーカイブ全体の SHA256 木構造ハッシュを計算してリクエストに含める必要があります。SHA256 木構造ハッシュの計算の詳細については、「チェックサムの計算」を参照してください。サーバー側でも、S3 Glacier によりアセンブルされたアーカイブの SHA256 木構造ハッシュが作成されます。値が一致した場合は、S3 Glacier によってボールトにアーカイブが保存されます。値が一致しない場合は、エラーが返され、オペレーションは失敗します。パートのリスト (GET uploadID) オペレーションでは、特定のマルチパートアップロードでアップロードされたパートのリストが返されます。そのリストには、アップロード済みの各パートのチェックサム情報が含まれおり、チェックサムの誤りをデバッグするために使用することができます。
さらに、S3 Glacier は不足しているコンテンツ範囲がないかどうかを確認します。パートをアップロードするときに、最終的にアセンブルされたアーカイブ内でのパートの位置を特定できるように範囲の値を指定します。最終的にアーカイブをアセンブルする際に、S3 Glacier は不足しているコンテンツ範囲がないかどうかを確認します。不足しているコンテンツ範囲がある場合、S3 Glacier はエラーを返し、マルチパートアップロードの完了オペレーションは失敗します。
マルチパートアップロードの完了オペレーションはべき等です。マルチパートアップロードが初めて正常に完了してから短期間内にこのオペレーションを再度呼び出した場合、オペレーションは成功し、同じアーカイブ ID が返されます。これは、ネットワークの問題が発生して、接続が中断されたり、500 サーバーエラーを受け取ったりした場合に役に立ちます。このような問題が起きた場合に、マルチパートアップロードの完了リクエストを再度実行し、アーカイブが重複して作成されることなく、同じアーカイブ ID を取得できます。ただし、マルチパートアップロードの完了後、パートのリストオペレーションを呼び出すことはできません。また、マルチパートアップロードは完了オペレーションがべき等であっても、マルチパートアップロードのリストのレスポンスには表示されません。
リクエスト
マルチパートアップロードを完了するには、マルチパートアップロードの開始リクエストに対するレスポンスとして S3 Glacier によって作成されたアップロード ID の URI に HTTP POST リクエストを送信します。この URI は、パートをアップロードするときに使用した URI と同じです。必須の共通のヘッダーに加えて、アーカイブ全体の SHA256 木構造ハッシュの結果およびアーカイブの合計サイズ(バイト単位)を含める必要があります。
構文
POST /
AccountId
/vaults/VaultName
/multipart-uploads/uploadID
Host: glacier.Region
.amazonaws.com Date:date
Authorization:SignatureValue
x-amz-sha256-tree-hash:SHA256 tree hash of the archive
x-amz-archive-size:ArchiveSize in bytes
x-amz-glacier-version: 2012-06-01
注記
-AccountId
valueAWS アカウントボールトを所有するアカウントの ID。AWS アカウント ID、または Amazon S3 Glacier がリクエストの署名に使用した認証情報に関連する AWS アカウント ID を使用している場合はオプションで`-
`「-」のどちらかを指定できます。アカウント ID を使用する場合は、ID にハイフン ('-') を含めないでください。
リクエストパラメータ
このオペレーションではリクエストパラメータを使用しません。
リクエストヘッダー
この操作では、すべての操作で共通のリクエストヘッダーに加えて、次のリクエストヘッダーを使用します。共通のリクエストヘッダーの詳細については、「一般的なリクエストヘッダー」を参照してください。
名前 | 説明 | 必須 |
---|---|---|
x-amz-archive-size
|
アーカイブ全体の合計サイズ (バイト単位)。この値には、アップロードした個々のパートのすべてのサイズの合計値を指定する必要があります。 型: 文字列 デフォルト: なし 制約: なし |
可能 |
x-amz-sha256-tree-hash
|
アーカイブ全体の SHA256 木構造ハッシュ。個々のパートの SHA256 木構造ハッシュの木構造ハッシュです。リクエストに指定した値が、S3 Glacier によって計算された、最終的にアセンブルされたアーカイブの SHA256 木構造ハッシュと一致しない場合、S3 Glacier はエラーを返し、リクエストは失敗します。 型: 文字列 デフォルト: なし 制約: なし |
可能 |
リクエストの要素
このオペレーションではリクエストの要素を使用しません。
レスポンス
Amazon S3 Glacier (S3 Glacier) により、アーカイブ全体の SHA256 木構造ハッシュが作成されます。値が、ユーザーがリクエストで指定したアーカイブ全体の SHA256 木構造ハッシュと一致する場合、S3 Glacier はそのアーカイブをボールトに追加します。レスポンスでは、新しく追加されたアーカイブリソースの URL パスを含む HTTP Location
ヘッダーが返されます。リクエストで送信したアーカイブのサイズまたは SHA256 木構造ハッシュが一致しない場合、S3 Glacier によってエラーが返され、アップロードは未完了の状態のままになります。後で正確な値を使用してマルチパートアップロードの完了オペレーションを再試行できます。再試行により、アーカイブを正常に作成することができます。マルチパートアップロードが完了しない場合は、最終的に S3 Glacier はアップロード ID を再利用します。
構文
HTTP/1.1 201 Created x-amzn-RequestId: x-amzn-RequestId Date: Date Location: Location x-amz-archive-id: ArchiveId
レスポンスヘッダー
成功したレスポンスには、すべての操作に共通のレスポンスヘッダーに加えて、次のレスポンスヘッダーが含まれます。共通のレスポンスヘッダーの詳細については、「共通のレスポンスヘッダー」を参照してください。
名前 | 説明 |
---|---|
Location
|
新しく作成したアーカイブの相対 URI パス。この URL には、S3 Glacier によって生成されたアーカイブ ID が含まれます。 型: 文字列 |
x-amz-archive-id
|
アーカイブの ID。この値も 型: 文字列 |
レスポンスフィールド
このオペレーションでは、レスポンス本文は返しません。
例
リクエストの例
この例では、マルチパートアップロードの開始リクエストで返された URI に HTTP POST リクエストを送信します。リクエストでは、アーカイブ全体の SHA256 木構造ハッシュとアーカイブの合計サイズの両方を指定します。
POST /-/vaults/examplevault/multipart-uploads/OW2fM5iVylEpFEMM9_HpKowRapC3vn5sSL39_396UW9zLFUWVrnRHaPjUJddQ5OxSHVXjYtrN47NBZ-khxOjyEXAMPLE HTTP/1.1 Host: glacier.us-west-2.amazonaws.com z-amz-Date: 20170210T120000Z x-amz-sha256-tree-hash:1ffc0f54dd5fdd66b62da70d25edacd0 x-amz-archive-size:8388608 x-amz-glacier-version: 2012-06-01 Authorization: AWS4-HMAC-SHA256 Credential=AKIAIOSFODNN7EXAMPLE/20141123/us-west-2/glacier/aws4_request,SignedHeaders=host;x-amz-date;x-amz-glacier-version,Signature=9257c16da6b25a715ce900a5b45b03da0447acf430195dcb540091b12966f2a2
レスポンスの例
以下のレスポンスの例は、アップロードしたパートから S3 Glacier によってアーカイブが正常に作成されたことを示しています。レスポンスには、アーカイブ ID と完全なパスが含まれています。
HTTP/1.1 201 Created x-amzn-RequestId: AAABZpJrTyioDC_HsOmHae8EZp_uBSJr6cnGOLKp_XJCl-Q Date: Wed, 10 Feb 2017 12:00:00 GMT Location: /111122223333/vaults/examplevault/archives/NkbByEejwEggmBz2fTHgJrg0XBoDfjP4q6iu87-TjhqG6eGoOY9Z8i1_AUyUsuhPAdTqLHy8pTl5nfCFJmDl2yEZONi5L26Omw12vcs01MNGntHEQL8MBfGlqrEXAMPLEArchiveId x-amz-archive-id: NkbByEejwEggmBz2fTHgJrg0XBoDfjP4q6iu87-TjhqG6eGoOY9Z8i1_AUyUsuhPAdTqLHy8pTl5nfCFJmDl2yEZONi5L26Omw12vcs01MNGntHEQL8MBfGlqrEXAMPLEArchiveId
新しく追加されたリソース/アーカイブの URI に HTTP リクエストを送信できます。たとえば、アーカイブを取得するために GET リクエストを送信できます。
関連するセクション