Upload Part¶
この操作は、進行中のマルチパートアップロードに対してパートをアップロードするものです。
この操作を行う前に、Initiate Multipart Uploadを使用してマルチパートアップロードを開始しアップロードIDを取得しておく必要があります。このアップロードIDを用いてPUT Objectのようにパートをアップロードします。また、既存のオブジェクトを1パートとして使用する場合は、Upload Part (Copy)をご利用ください。
アップロードの際にはパートの識別子であるパート番号を指定する必要があります。このパート番号は、マルチパートアップロードをオブジェクト化する際のパート構成の指定に使用します。同じパート番号でアップロードした場合は上書きされますのでご注意ください。
Note
- パートのアップロードには以下の制限がありますのでご注意ください。
- マルチパートアップロードにおけるアップロード可能なパート数の上限は10000までです。
- 最後のパートを除き1つのパートのサイズは5MB以上でなければなりません。
リクエスト情報¶
シンタックス¶
PUT /{object key}?partNumber={part number}&uploadId={upload ID} HTTP/1.1
Host: {bucket name}.storage-dag.iijgio.com
Date: {date}
Content-Length: {length}
Authorization: {authorization string}
リクエストパラメータ¶
この操作ではリクエストパラメータは使用しません。
リクエストヘッダー¶
この操作では基本リクエストヘッダーに加え、以下のヘッダーを使用します。
HTTPヘッダー | 説明 | 必須 | ||||||
---|---|---|---|---|---|---|---|---|
Content-Length |
|
○ | ||||||
Content-MD5 |
|
× | ||||||
Expect |
|
× |
サーバサイド暗号化でパートを暗号化する場合、以下のヘッダを指定します。
Warning
名前 | 説明 | 必須 |
---|---|---|
x-iijgio-server-side-encryption-customer-algorithm | サーバサイド暗号化で使用するアルゴリズムを指定します。値は”AES256”である必要があります。 | 〇 |
x-iijgio-server-side-encryption-customer-key | パートの暗号化に用いる暗号化キーを指定します。Base64でエンコードした値をセットします。暗号化キーの長さはBase64エンコード前で256ビットである必要があります。暗号化キーはパートの暗号化後に速やかに破棄されます。指定する暗号化キーはInitiate Multipart Uploadと同じ値である必要があります。 | 〇 |
x-iijgio-server-side-encryption-customer-key-MD5 | 暗号化キーをMD5(128bit)でダイジェストし、Base64エンコードした値をセットします。暗号化キーが正しく送られて来たかサービス側で検証するために利用します。 | 〇 |
リクエストエレメント¶
この操作ではリクエストエレメントは使用しません。
レスポンス情報¶
レスポンスヘッダー¶
この操作では基本レスポンスヘッダーのみ返します。
レスポンスエレメント¶
この操作はレスポンスエレメントを返しません。
エラー情報¶
この操作は共通のエラーレスポンスに加え、以下の固有のエラーを返します。
コード | ステータス | 内容 |
---|---|---|
NoSuchUpload | 404 Not Found | 指定したマルチパートアップロードが存在しません。
無効なアップロードIDを指定したか、指定したマルチパートアップロードが既に完了または中断している可能性があります。
|
InvalidArgument | 400 Bad Request |
|
InvalidEncryptionAlgorithmError | 400 Bad Request | x-iijgio-server-side-encryption-customer-algorithに誤った値が指定されています。 |
サンプル¶
パート番号を1としてパートをアップロードする
リクエスト¶
PUT /myobject?partNumber=1&uploadId=VCVsb2FkIElEIGZvciBlbZZpbmcncyBteS1tb3ZpZS5tMnRzIHVwbG9hZR HTTP/1.1
Host: mybucket.storage-dag.iijgio.com
Date: Wed, 1 Oct 2014 00:00:00 GMT
Content-Length: 10485760
Content-MD5: pUNXr/BjKK5G2UKvaRRrOA==
Authorization: IIJGIO 15B4D3461F177624206A:xQE0diMbLRepdf3YB+FIEXAMPLE=
{part data}
レスポンス¶
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
ETag: "b54357faf0632cce46e942fa68356b38"
Content-Length: 0
Connection: keep-alive
Server: storage-dag.iijgio.com
Upload Part (Copy)¶
この操作を行う前に、Initiate Multipart Uploadを使用してマルチパートアップロードを開始しアップロードIDを取得しておく必要があります。
Note
- パートのアップロードには以下の制限がありますのでご注意ください。
- マルチパートアップロードにおけるアップロード可能なパート数の上限は10000までです。
- 最後のパートを除き1つのパートのサイズは5MB以上でなければなりません。
リクエスト情報¶
シンタックス¶
PUT /{object key}?partNumber={part number}&uploadId={upload ID} HTTP/1.1
Host: {bucket name}.storage-dag.iijgio.com
x-iijgio-copy-source: /{source bucket}/{source object}
x-iijgio-copy-source-range:bytes={first}-{last}
x-iijgio-copy-source-if-match: {etag}
x-iijgio-copy-source-if-none-match: {etag}
x-iijgio-copy-source-if-unmodified-since: {time stamp}
x-iijgio-copy-source-if-modified-since: {time stamp}
Date: {date}
Authorization: {authorization string}
リクエストパラメータ¶
この操作ではリクエストパラメータは使用しません。
リクエストヘッダー¶
この操作では基本リクエストヘッダーに加え、以下のヘッダーを使用します。
HTTPヘッダー | 説明 | 必須 | ||||
---|---|---|---|---|---|---|
x-iijgio-copy-source |
|
○ | ||||
x-iijgio-copy-source-range |
|
× | ||||
x-iijgio-copy-source-if-match |
|
× | ||||
x-iijgio-copy-source-if-none-match |
|
× | ||||
x-iijgio-copy-source-if-unmodified-since |
|
× | ||||
x-iijgio-copy-source-if-modified-since |
|
× | ||||
x-iijgio-website-redirect-location |
|
× |
パートをサーバサイド暗号化で暗号化する場合、以下のヘッダを指定します。
Warning
名前 | 説明 | 必須 |
---|---|---|
x-iijgio-server-side-encryption-customer-algorithm | サーバサイド暗号化で使用するアルゴリズムを指定します。値は”AES256”である必要があります。 | 〇 |
x-iijgio-server-side-encryption-customer-key | パートの暗号化に用いる暗号化キーを指定します。Base64でエンコードした値をセットします。暗号化キーの長さはBase64エンコード前で256ビットである必要があります。暗号化キーはパートの暗号化後に速やかに破棄されます。指定する暗号化キーはInitiate Multipart Uploadと同じ値である必要があります。 | 〇 |
x-iijgio-server-side-encryption-customer-key-MD5 | 暗号化キーをMD5(128bit)でダイジェストし、Base64エンコードした値をセットします。暗号化キーが正しく送られて来たかサービス側で検証するために利用します。 | 〇 |
コピーの元オブジェクト(x-iijgio-copy-sourceで指定したオブジェクト)がサーバサイド暗号化で暗号化されている場合、以下のヘッダを指定します。
名前 | 説明 | 必須 |
---|---|---|
x-iijgio-copy-source-server-side-encryption-customer-algorithm | サーバサイド暗号化で使用するアルゴリズムを指定します。値は”AES256”である必要があります。 | 〇 |
x-iijgio-copy-source-server-side-encryption-customer-key | ソースオブジェクトの復号に用いる暗号化キーを指定します。Base64でエンコードした値をセットします。暗号化キーの長さはBase64エンコード前で256ビットである必要があります暗号化キーは対象オブジェクトの複号後に速やかに破棄されます。 | 〇 |
x-iijgio-copy-source-server-side-encryption-customer-key-MD5 | ソースオブジェクトの暗号化キーをMD5(128bit)でダイジェストし、Base64エンコードした値をセットします。暗号化キーが正しく送られて来たかサービス側で検証するために利用します。 | 〇 |
リクエストエレメント¶
この操作ではリクエストパラメータは使用しません。
レスポンス情報¶
レスポンスヘッダー¶
この操作では基本レスポンスヘッダーのみ返します。
レスポンスエレメント¶
この操作では以下のレスポンスエレメントを返します。
名前 | 説明 | ||||
---|---|---|---|---|---|
CopyPartResult |
|
||||
ETag |
|
||||
LastModified |
|
エラー情報¶
この操作は共通のエラーレスポンスに加え、以下の固有のエラーを返します。
コード | ステータス | 内容 |
---|---|---|
NoSuchUpload | 404 Not Found | 指定したマルチパートアップロードが存在しません。
無効なアップロードIDを指定したか、指定したマルチパートアップロードが既に完了または中断している可能性あります。
|
InvalidRequest | 404 Not Found | x-iijgio-copy-source-rangeで指定がサポートされていません。 |
InvalidArgument | 400 Bad Request |
|
InvalidEncryptionAlgorithmError | 400 Bad Request | x-iijgio-server-side-encryption-customer-algorith,x-iijgio-copy-source-server-side-encryption-customer-algorithに誤った値が指定されています。 |
サンプル¶
異なるバケットのオブジェクトをコピーしてパートにする¶
リクエスト¶
PUT /target-object?partNumber=2&uploadId=VCVsb2FkIElEIGZvciBlbZZpbmcncyBteS1tb3ZpZS5tMnRzIHVwbG9hZR HTTP/1.1
Host: target-bucket.storage-dag.iijgio.com
Date: Wed, 1 Oct 2014 00:00:00 GMT
x-iijgio-copy-source: /source-bucket/source-object
x-iijgio-copy-source-range:bytes=500-6291456
Authorization: IIJGIO 15B4D3461F177624206A:xQE0diMbLRepdf3YB+FIEXAMPLE=
レスポンス¶
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
Server: storage-dag.iijgio.com
<CopyPartResult>
<LastModified>2009-10-28T22:32:00</LastModified>
<ETag>"9b2cf535f27731c974343645a3985328"</ETag>
</CopyPartResult>