ユーザーガイド/リファレンスガイド

ラージオブジェクトアップロード(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 Paramters

Parameter Value Style Description
X-Auth-Token Userトークン header トークンID
account テナントID URI テナントID
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.odc01.eva-clouds.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.odc01.eva-clouds.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.odc01.eva-clouds.com/v1/ze_テナントID/dlo_container_segment

4.セグメントファイルをアップロードします。

curl -i -X PUT -H “X-Auth-Token: トークンID” https://object-storage.odc01.eva-clouds.com/v1/ze_テナントID/dlo_container_segment/ -T largefile_aa
curl -i -X PUT -H “X-Auth-Token: トークンID” https://object-storage.odc01.eva-clouds.com/v1/ze_テナントID/dlo_container_segment/ -T largefile_ab
curl -i -X PUT -H “X-Auth-Token: トークンID” https://object-storage.odc01.eva-clouds.com/v1/ze_テナントID/dlo_container_segment/ -T largefile_ac
curl -i -X PUT -H “X-Auth-Token: トークンID” https://object-storage.odc01.eva-clouds.com/v1/ze_テナントID/dlo_container_segment/ -T largefile_ad
curl -i -X PUT -H “X-Auth-Token: トークンID” https://object-storage.odc01.eva-clouds.com/v1/ze_テナントID/dlo_container_segment/ -T largefile_ae
curl -i -X PUT -H “X-Auth-Token: トークンID” https://object-storage.odc01.eva-clouds.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.odc01.eva-clouds.com/v1/ze_テナントID/dlo_container/manifestfile –data-binary ”