Complete Multipart Upload
この操作は、マルチパートアップロードを完了するための操作です。
この操作を行うには、 Initiate Multipart Upload を使用してマルチパートアップロードを開始し、1つ以上のパートをアップロードしておく必要があります。 この状態で、オブジェクトを構成するパートを指定し、本操作を行うことで新たにオブジェクトが生成されます。
マルチパートアップロードの完了後は、そのマルチパートアップロードとそれに属する全てのパートは解放されますのでご注意ください。
この操作を行う利用者は、バケット所有者か対象バケットに対してバケットポリシーの
dag:PutObject
権限を付与されている必要があります。
デフォルトではバケット所有者のみこの操作が許可されており、バケット所有者はバケットポリシーによって他のアカウントに権限を付与することができます。
リクエスト情報
シンタックス
POST /{bucket name}/{object key}?uploadId={upload ID} HTTP/1.1 |
Host: s3api.iot.iij.jp |
Date: {date} |
Content-Length: {length} |
Authorization: {authorization string} |
<CompleteMultipartUpload> |
<Part> |
<PartNumber>{part number}</PartNumber> |
<ETag>{ETag of part}</ETag> |
</Part> |
... |
</CompleteMultipartUpload> |
リクエストパラメータ
この操作ではリクエストパラメータは使用しません。
リクエストヘッダー
この操作では基本リクエストヘッダーのみ使用します。
リクエストエレメント
この操作では以下のリクエストエレメントを使用します。
表. Complete Multipart Upload リクエストエレメント一覧
名前 | 説明 | 必須 |
---|---|---|
CompleteMultipartUpload | リクエストのルート要素となるコンテナ
|
○ |
Part | 以降のパート情報の要素を含むコンテナ
|
○ |
PartNumber | パートの識別子である番号
|
○ |
ETag | アップロード時に得られたETagの値
|
○ |
レスポンス情報
レスポンスヘッダー
この操作では基本レスポンスヘッダーを返します。
レスポンスエレメント
この操作では以下のレスポンスエレメントを返します。
表. Complete Multipart Upload レスポンスエレメント一覧
名前 | 説明 |
---|---|
CompleteMultipartUploadResult | レスポンスのルート要素となるコンテナ
|
Location | 生成された新しいオブジェクトの識別子であるURI
|
Bucket | 生成された新しいオブジェクトが属するバケットの名前
|
Key | 生成された新しいオブジェクトのオブジェクトキー
|
ETag | 生成された新しいオブジェクトのETag
|
エラー情報
この操作は共通のエラーレスポンスに加え、以下のエラーを返します。
表. Complete Multipart Upload エラーコード一覧
コード | ステータス | 内容 |
---|---|---|
InvalidPart | 400 Bad Request |
指定したパートが存在しないか、リクエストに指定したパートのETagが一致しません。
|
InvalidPartOrder | 400 Bad Request |
リクエストで指定したパートのリストが昇順になっていません。指定するパートのリストはパート番号が昇順になっていなければなりません。
|
EntityTooSmall | 400 Bad Request |
パートのサイズが小さ過ぎます。最後のパート以外はパートのサイズが 5MB
以上でなければなりません。
|
NoSuchUpload | 404 Not Found |
指定したマルチパートアップロードが存在しません。
無効なアップロードIDを指定したか、指定したマルチパートアップロードが既に完了または中断している可能性あります。
|
サンプル
3つのパートを指定して Complete Multipart Upload リクエストを送るサンプル
リクエスト
POST /mybucket/myobject?uploadId=AAAsb2FkIElEIGZvciBlbHZpbmcncyWeeS1tb3ZpZS5tMnRzIRRwbG9hZA HTTP/1.1 |
Host: s3api.iot.iij.jp |
Date: Wed, 1 Oct 2014 00:00:00 GMT |
Content-Length: 391 |
Authorization: IIJGIO 15B4D3461F177624206A:xQE0diMbLRepdf3YB+FIEXAMPLE= |
<CompleteMultipartUpload> |
<Part> |
<PartNumber>1</PartNumber> |
<ETag>"a54357aff0632cce46d942af68356b38"</ETag> |
</Part> |
<Part> |
<PartNumber>2</PartNumber> |
<ETag>"0c78aef83f66abc1fa1e8477f296d394"</ETag> |
</Part> |
<Part> |
<PartNumber>3</PartNumber> |
<ETag>"acbd18db4cc2f85cedef654fccc4a4d8"</ETag> |
</Part> |
</CompleteMultipartUpload> |
レスポンス
HTTP/1.1 200 OK |
x-iijgio-id-2: eftixk72aD6Ap51TnqcoF8eFidJG9Z/2mkiDFu8yU9AS1ed4OpIszj7UDNEHGran |
x-iijgio-request-id: 318BC8BC148832E5 |
Date: Wed, 1 Oct 2014 00:00:00 GMT |
Connection: close |
Server: s3api.iot.iij.jp |
<?xml version="1.0" encoding="UTF-8"?> |
<CompleteMultipartUploadResult xmlns="http://acs.dag.iijgio.com/doc/2006-03-01/"> |
<Location>http://s3api.iot.iij.jp/mybucket/myobject</Location> |
<Bucket>mybucket</Bucket> |
<Key>myobject</Key> |
<ETag>"3858f62230ac3c915f300c664312c11f-9"</ETag> |
</CompleteMultipartUploadResult> |