ラージオブジェクトアップロード(SLO)
Description
コンテナにラージオブジェクト(Static Large Object)をアップロードします。
5GBより大きいデータをアップロードする際に使用します。
オブジェクトを5GB未満のファイルサイズに分割してアップロードし、仮想的なひとつのオブジェクトとしてダウンロードを可能とします。なお、1MB未満のファイルには使用できません。
「Static Large Object」は、「Dynamic Large Object」と比べて完全性、信頼性が向上します。
Request URL
Object Storage API PUT /v1/AUTH_{tenantid}/{container}/{manifestfile}
Request Json
This operation does not accept a request body.
Request Parameters
Parameter | Value | Style | Description |
---|---|---|---|
X-Auth-Token | トークン | header | トークンの情報を指定します。トークンの発行方法は、トークン発行 にてご確認ください。 |
container | コンテナ名 | path | manifestファイル用の任意のコンテナ名を指定します。 |
manifestfile | manifestファイル名 | path | 任意のmanifestファイル名を指定します。 |
multipart-manifest | put | query | 対象のmanifestファイルがmanifestオブジェクトであることを定義するために指定します。 |
Response Code
Success
201
Example
Using
- [1]ファイルを分割します。
- ※以下では1G単位で分割します。またファイル名を「largefile」とします。
split -b 1G largefile largefile_
- [2]manifestファイル用のコンテナを作成します。
- ※以下ではコンテナ名を「slo_container」とします。
curl -X PUT \ -H "Accept: application/json" \ -H "X-Auth-Token: トークン" \ https://object-storage.c3j1.conoha.io/v1/AUTH_テナントID/slo_container
- [3]セグメントファイル用のコンテナを作成します。
- ※以下ではセグメントファイル用のコンテナ名を「slo_container_segment」とします。
curl -X PUT \ -H "Accept: application/json" \ -H "X-Auth-Token: トークン" \ https://object-storage.c3j1.conoha.io/v1/AUTH_テナントID/slo_container_segment
- [4]セグメントファイルをアップロードします。
curl -X PUT -H "X-Auth-Token: トークン" \https://object-storage.c3j1.conoha.io/v1/AUTH_テナントID/slo_container_segment/ -T largefile_aa curl -X PUT -H "X-Auth-Token: トークン" \https://object-storage.c3j1.conoha.io/v1/AUTH_テナントID/slo_container_segment/ -T largefile_ab curl -X PUT -H "X-Auth-Token: トークン" \https://object-storage.c3j1.conoha.io/v1/AUTH_テナントID/slo_container_segment/ -T largefile_ac curl -X PUT -H "X-Auth-Token: トークン" \https://object-storage.c3j1.conoha.io/v1/AUTH_テナントID/slo_container_segment/ -T largefile_ad curl -X PUT -H "X-Auth-Token: トークン" \https://object-storage.c3j1.conoha.io/v1/AUTH_テナントID/slo_container_segment/ -T largefile_ae curl -X PUT -H "X-Auth-Token: トークン" \https://object-storage.c3j1.conoha.io/v1/AUTH_テナントID/slo_container_segment/ -T largefile_af
- [5]各セグメントファイルのMD5のハッシュ値を確認します。
md5sum largefile_a* MD5のハッシュ値 *largefile_aa MD5のハッシュ値 *largefile_ab MD5のハッシュ値 *largefile_ac MD5のハッシュ値 *largefile_ad MD5のハッシュ値 *largefile_ae MD5のハッシュ値 *largefile_af
- [6]各セグメントファイルのファイルサイズを確認します。
ls -l
- [7]manifestファイルを作成します。
- ※ここではmanifestファイル名を「manifestfile」とします。
curl -X PUT \ -H "Accept: application/json" \ -H "X-Auth-Token: トークン" \ -d '[{"path" : "slo_container_segment/largefile_aa", "etag": "MD5のハッシュ値", "size_bytes": セグメントファイルサイズ}, {"path" : "slo_container_segment/largefile_ab", "etag": "MD5のハッシュ値", "size_bytes": セグメントファイルサイズ}, {"path" : "slo_container_segment/largefile_ac", "etag": "MD5のハッシュ値", "size_bytes": セグメントファイルサイズ}, {"path" : "slo_container_segment/largefile_ad", "etag": "MD5のハッシュ値", "size_bytes": セグメントファイルサイズ}, {"path" : "slo_container_segment/largefile_ae", "etag": "MD5のハッシュ値", "size_bytes": セグメントファイルサイズ}, {"path" : "slo_container_segment/largefile_af", "etag": "MD5のハッシュ値", "size_bytes": セグメントファイルサイズ}]' \ https://object-storage.c3j1.conoha.io/v1/AUTH_テナントID/slo_container/manifestfile?multipart-manifest=put
ConoHaにて提供しておりますAPIにつきましては、クラウド基盤として採用しておりますOpenStackの機能にて実装しておりますので、詳細な情報や使い方はOpenStackのドキュメントにてご確認ください。