List Parts¶
指定の進行中のマルチパートアップロードに対してアップロードした全てのパートをリストで返します。
この操作を行うには、リクエストに進行中のマルチパートアップロードのアップロードIDをリクエストパラメータに指定する必要があります。
この操作は、GET Bucket (List Objects)と同様のページング機能をサポートしています。パートの一覧は最大1000件返すことができ、max-partsパラメータを変更することでリストに含まれるパートの最大件数を変更することができます(デフォルトは1000件です)。もしリクエストに該当するパートの件数が最大件数を越える場合には、リストが部分的なものであることを示すIsTruncated要素の値をtrueにしてレスポンスを返します。部分的なリストの場合にはpart-number-markerを指定し、次のリストを取得することができます。
リクエスト情報¶
シンタックス¶
GET /{object key}?uploadId={upload ID} HTTP/1.1
Host: {bucket name}.storage-dag.iijgio.com
Date: {date}
Authorization: {authorization string}
リクエストパラメータ¶
この操作では以下のリクエストパラメータを使用します。
名前 | 説明 | 必須 | ||||
---|---|---|---|---|---|---|
uploadId |
|
○ | ||||
max-parts |
|
× | ||||
part-number-marker |
|
× |
リクエストヘッダー¶
この操作では基本リクエストヘッダーのみ使用します。
リクエストエレメント¶
この操作ではリクエストエレメントは使用しません。
レスポンス情報¶
レスポンスヘッダー¶
この操作では基本レスポンスヘッダーのみ返します。
レスポンスエレメント¶
この操作では以下のレスポンスエレメントを返します。
名前 | 説明 | ||||
---|---|---|---|---|---|
ListPartsResult |
|
||||
Bucket |
|
||||
Key |
|
||||
UploadId |
|
||||
MaxParts |
|
||||
PartNumberMarker |
|
||||
IsTruncated |
|
||||
StorageClass |
|
||||
Initiator |
|
||||
Part |
|
||||
PartNumber |
|
||||
LastModified |
|
||||
ETag |
|
||||
Size |
|
||||
ID |
|
||||
DisplayName |
|
||||
Owner |
|
サンプル¶
パート番号1より後のパートのリストを最大2件取得する¶
リクエスト¶
GET /myobject?uploadId=y0cHiwKZjrrJZBC3qyClgpfMPjowQTVcbLRFMafoHCnJHAL&max-parts=2&part-number-marker=1 HTTP/1.1
Host: mybucket.storage-dag.iijgio.com
Date: Wed, 1 Oct 2014 00:00:00 GMT
Authorization: IIJGIO 15B4D3461F177624206A:xQE0diMbLRepdf3YB+FIEXAMPLE=
レスポンス¶
以下のレスポンスでは、進行中のマルチパートアップロードが2件以上存在するため、部分的な一覧(IsTruncated = true)として返ってきています。
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
Content-Length: 1330
Connection: keep-alive
Server: storage-dag.iijgio.com
<?xml version="1.0" encoding="UTF-8"?>
<ListPartsResult xmlns="http://acs.dag.iijgio.com/doc/2006-03-01/">
<Bucket>mybucket</Bucket>
<Key>myobject</Key>
<UploadId>y0cHiwKZjrrJZBC3qyClgpfMPjowQTVcbLRFMafoHCnJHAL</UploadId>
<Initiator>
<ID>3xqvsfypbm4t5yljpydldixooivd46ne</ID>
<DisplayName>taro@iij.ad.jp</DisplayName>
</Initiator>
<Owner>
<ID>3xqvsfypbm4t5yljpydldixooivd46ne</ID>
<DisplayName>taro@iij.ad.jp</DisplayName>
</Owner>
<StorageClass>STANDARD</StorageClass>
<PartNumberMarker>1</PartNumberMarker>
<NextPartNumberMarker>3</NextPartNumberMarker>
<MaxParts>2</MaxParts>
<IsTruncated>true</IsTruncated>
<Part>
<PartNumber>2</PartNumber>
<LastModified>2010-11-10T20:48:34.000Z</LastModified>
<ETag>"7778aef83f66abc1fa1e8477f296d394"</ETag>
<Size>10485760</Size>
</Part>
<Part>
<PartNumber>3</PartNumber>
<LastModified>2010-11-10T20:48:33.000Z</LastModified>
<ETag>"aaaa18db4cc2f85cedef654fccc4a4x8"</ETag>
<Size>10485760</Size>
</Part>
</ListPartsResult>
Initiate Multipart Upload¶
リクエスト情報¶
シンタックス¶
POST /{object key}?uploads HTTP/1.1
Host: {bucket name}.storage-dag.iijgio.com
Date: {date}
Authorization: {authorization string}
リクエストパラメータ¶
この操作ではリクエストパラメータは使用しません。
リクエストヘッダー¶
この操作では基本リクエストヘッダーに加え、以下のヘッダーを使用します。
HTTPヘッダー | 説明 | 必須 | ||||||
---|---|---|---|---|---|---|---|---|
Cache-Control |
|
× | ||||||
Content-Disposition |
|
× | ||||||
Content-Encoding |
|
× | ||||||
Expires |
|
× | ||||||
x-iijgio-acl |
|
× | ||||||
x-iijgio-meta- |
|
× | ||||||
x-iijgio-storage-class |
|
× |
サーバサイド暗号化でオブジェクトを暗号化する場合、以下のヘッダを指定します。本APIで指定した暗号化キーと、Upload Partで指定される暗号化キーは同じものを指定する必要があります。
Warning
名前 | 説明 | 必須 |
---|---|---|
x-iijgio-server-side-encryption-customer-algorithm | サーバサイド暗号化で使用するアルゴリズムを指定します。値は”AES256”である必要があります。 | 〇 |
x-iijgio-server-side-encryption-customer-key | サーバサイド暗号化で使用する暗号化キーを指定します。Base64でエンコードした値をセットします。暗号化キーの長さはBase64エンコード前で256ビットである必要があります。暗号化キーは対象オブジェクトの暗号化後に速やかに破棄されます。 | 〇 |
x-iijgio-server-side-encryption-customer-key-MD5 | 暗号化キーをMD5(128bit)でダイジェストし、Base64エンコードした値をセットします。暗号化キーが正しく送られて来たかサービス側で検証するために利用します。 | 〇 |
リクエストエレメント¶
この操作ではリクエストエレメントは使用しません
レスポンス情報¶
レスポンスヘッダー¶
この操作では基本レスポンスヘッダーのみ返します。
レスポンスエレメント¶
この操作では以下のレスポンスエレメントを返します。
名前 | 説明 | ||||
---|---|---|---|---|---|
InitiateMultipartUploadResult |
|
||||
Bucket |
|
||||
Key |
|
||||
UploadId |
|
サンプル¶
オブジェクト myobject としてマルチパートアップロードを開始する¶
リクエスト¶
POST /myobject?uploads HTTP/1.1
Host: mybucket.storage-dag.iijgio.com
Date: Wed, 1 Oct 2014 00:00:00 GMT
Authorization: {authorization string}
レスポンス¶
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
Content-Length: 197
Connection: keep-alive
Server: storage-dag.iijgio.com
<?xml version="1.0" encoding="UTF-8"?>
<InitiateMultipartUploadResult xmlns="http://acs.dag.iijgio.com/doc/2006-03-01/">
<Bucket>mybucket</Bucket>
<Key>myobject</Key>
<UploadId>VXBsb2FkIElEIGZvciA2aWWpbmcncyBteS1tb3ZpZS5tMnRzIHVwbG9hZA</UploadId>
</InitiateMultipartUploadResult>
Complete Multipart Upload¶
この操作は、マルチパートアップロードを完了するための操作です。
この操作を行うには、Initiate Multipart Uploadを使用してマルチパートアップロードを開始し、1つ以上のパートをアップロードしておく必要があります。この状態で、オブジェクトを構成するパートを指定し、本操作を行うことで新たにオブジェクトが生成されます。
マルチパートアップロードの完了後は、そのマルチパートアップロードとそれに属する全てのパートは解放されますのでご注意ください。
リクエスト情報¶
シンタックス¶
POST /{object key}?uploadId={upload ID} HTTP/1.1
Host: {bucket name}.storage-dag.iijgio.com
Date: {date}
Content-Length: {length}
Authorization: {authorization string}
<CompleteMultipartUpload>
<Part>
<PartNumber>{part number}</PartNumber>
<ETag>{ETag of part}</ETag>
</Part>
...
</CompleteMultipartUpload>
リクエストパラメータ¶
この操作ではリクエストパラメータを使用しません。
リクエストヘッダー¶
この操作では基本リクエストヘッダーのみ使用します。
レスポンス情報¶
レスポンスヘッダー¶
この操作では基本レスポンスヘッダーのみ返します。
レスポンスエレメント¶
この操作では以下のレスポンスエレメントを返します。
名前 | 説明 | ||||
---|---|---|---|---|---|
CompleteMultipartUploadResult |
|
||||
Location |
|
||||
Bucket |
|
||||
Key |
|
||||
ETag |
|
エラー情報¶
この操作は共通のエラーレスポンスに加え、以下の固有のエラーを返します。
コード | ステータス | 内容 |
---|---|---|
InvalidPart | 400 Bad Request | 指定したパートが存在しないか、リクエストに指定したパートのETagが一致しません。
|
InvalidPartOrder | 400 Bad Request | リクエストで指定したパートのリストが昇順になっていません。指定するパートのリストはパート番号が昇順になっていなければなりません。
|
EntityTooSmall | 400 Bad Request | パートのサイズが小さ過ぎます。最後のパート以外はパートのサイズが 5MB 以上でなければなりません。
|
NoSuchUpload | 404 Not Found | 指定したマルチパートアップロードが存在しません。
無効なアップロードIDを指定したか、指定したマルチパートアップロードが既に完了または中断している可能性あります。
|
サンプル¶
3つのパートを指定して Complete Multipart Upload リクエストを送る¶
リクエスト¶
POST /myobject?uploadId=AAAsb2FkIElEIGZvciBlbHZpbmcncyWeeS1tb3ZpZS5tMnRzIRRwbG9hZA HTTP/1.1
Host: mybucket.storage-dag.iijgio.com
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: storage-dag.iijgio.com
<?xml version="1.0" encoding="UTF-8"?>
<CompleteMultipartUploadResult xmlns="http://acs.dag.iijgio.com/doc/2006-03-01/">
<Location>http://mybucket.storage-dag.iijgio.com/myobject</Location>
<Bucket>mybucket</Bucket>
<Key>myobject</Key>
<ETag>"3858f62230ac3c915f300c664312c11f-9"</ETag>
</CompleteMultipartUploadResult>
Abort Multipart Upload¶
この操作は、進行中のマルチパートアップロードを中断するための操作です。
進行中のマルチパートアップロードのアップロードIDを指定し本操作を行うことで、マルチパートアップロードは中断され、指定のマルチパートアップロードおよびそれに属する全てのパートのリソースを解放します。
リクエスト情報¶
シンタックス¶
DELETE /{object key}?uploadId={upload ID} HTTP/1.1
Host: {bucket name}.storage-dag.iijgio.com
Date: {date}
Authorization: {authorization string}
リクエストパラメータ¶
この操作ではリクエストパラメータを使用しません。
リクエストヘッダー¶
この操作では基本リクエストヘッダーのみ使用します。
リクエストエレメント¶
この操作ではリクエストエレメントは使用しません。
サンプル¶
マルチパートアップロードを削除する¶
リクエスト¶
DELETE /myobject?uploadId=VXBsb2FkIElEIGZvciBlbHZpbmcncyBteS1tb3ZpZS5tMnRzIHVwbG9hZ HTTP/1.1
Host: example-bucket.storage-dag.iijgio.com
Date: Wed, 1 Oct 2014 00:00:00 GMT
Authorization: IIJGIO 15B4D3461F177624206A:xQE0diMbLRepdf3YB+FIEXAMPLE=
レスポンス¶
HTTP/1.1 204 OK
x-iijgio-id-2: eftixk72aD6Ap51TnqcoF8eFidJG9Z/2mkiDFu8yU9AS1ed4OpIszj7UDNEHGran
x-iijgio-request-id: 318BC8BC148832E5
Date: Wed, 1 Oct 2014 00:00:00 GMT
Content-Length: 0
Connection: keep-alive
Server: storage-dag.iijgio.com