ラージオブジェクトアップロード(Dynamic Large Object)
Description
5GBより大きいファイルをアップロードする際に使用します。
オブジェクトを5GB未満のファイルサイズに分割してアップロードし、仮想的なひとつのオブジェクトとしてダウンロード可能とします。
Request URL
ObjectStorage API v1 PUT /v1/ze_{account}/{container}/{object}
Request Json
This operation does not accept a request body.
Request Parameters
Parameter | Value | Style | Description |
---|---|---|---|
X-Auth-Token | Userトークン | header | トークン発行 にて払い出されたID |
account | テナントID | URI | API情報を確認する にてご確認ください。 |
container | コンテナ名 | URI | アカウント情報・コンテナ一覧取得にてご確認ください。 |
object | オブジェクト名 | URI | オブジェクト名 |
X-Object-Manifest(Optional) | string | header |
Response
-
Normal response codes
201
Example
-
Request
curl -i -X PUT \ -H "Accept: application/json" \ -H "Content-Type: application/json" \ -H "X-Auth-Token: トークンID" \ -H "X-Object-Manifest: セグメントファイル用のコンテナ名/セグメントファイル名_" \ https://object-storage.jpt1.cloud.z.com/v1/ze_テナントID/manifestファイル用のコンテナ名/manifestファイル名 --data-binary ''
-
Response
HTTP/1.1 201 Created Last-Modified: Tue, 23 Aug 2016 05:42:11 GMT Content-Length: 0 Etag: d41d8cd98f00b204e9800998ecf8427e Content-Type: text/html; charset=UTF-8 X-Trans-Id: tx96bcbc292c2c48379f5bd-0057bbe231 Date: Tue, 23 Aug 2016 05:42:10 GMT
Using
1.ファイルを分割します。
※以下では1G単位で分割します。またファイル名を「largefile」とします。
split -b 1G largefile largefile_
2.manifestファイル用のコンテナを作成します。
※以下ではコンテナ名を「dlo_container」とします。
curl -i -X PUT \ -H "Accept: application/json" \ -H "Content-Type: application/json" \ -H "X-Auth-Token: トークンID" \ https://object-storage.jpt1.cloud.z.com/v1/ze_テナントID/dlo_container
3.セグメントファイル用のコンテナを作成します。
※以下ではセグメントファイル用のコンテナ名を「dlo_container_segment」とします。
curl -i -X PUT \ -H "Accept: application/json" \ -H "Content-Type: application/json" \ -H "X-Auth-Token: トークンID" \ https://object-storage.jpt1.cloud.z.com/v1/ze_テナントID/dlo_container_segment
4.セグメントファイルをアップロードします。
curl -i -X PUT -H "X-Auth-Token: トークンID" https://object-storage.jpt1.cloud.z.com/v1/ze_テナントID/dlo_container_segment/ -T largefile_aa curl -i -X PUT -H "X-Auth-Token: トークンID" https://object-storage.jpt1.cloud.z.com/v1/ze_テナントID/dlo_container_segment/ -T largefile_ab curl -i -X PUT -H "X-Auth-Token: トークンID" https://object-storage.jpt1.cloud.z.com/v1/ze_テナントID/dlo_container_segment/ -T largefile_ac curl -i -X PUT -H "X-Auth-Token: トークンID" https://object-storage.jpt1.cloud.z.com/v1/ze_テナントID/dlo_container_segment/ -T largefile_ad curl -i -X PUT -H "X-Auth-Token: トークンID" https://object-storage.jpt1.cloud.z.com/v1/ze_テナントID/dlo_container_segment/ -T largefile_ae curl -i -X PUT -H "X-Auth-Token: トークンID" https://object-storage.jpt1.cloud.z.com/v1/ze_テナントID/dlo_container_segment/ -T largefile_af
5.manifestファイルを作成します。
※ここではmanifestファイル名を「manifestfile」とします。
curl -i -X PUT \ -H "Accept: application/json" \ -H "Content-Type: application/json" \ -H "X-Auth-Token: トークンID" \ -H "X-Object-Manifest: dlo_container_segment/largefile_" \ https://object-storage.jpt1.cloud.z.com/v1/ze_テナントID/dlo_container/manifestfile --data-binary ''