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. [1]ファイルを分割します。
  • ※以下では1G単位で分割します。またファイル名を「largefile」とします。
split -b 1G largefile largefile_
  1. [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
  1. [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
  1. [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
  1. [5]各セグメントファイルのMD5のハッシュ値を確認します。
md5sum largefile_a*
MD5のハッシュ値 *largefile_aa
MD5のハッシュ値 *largefile_ab
MD5のハッシュ値 *largefile_ac
MD5のハッシュ値 *largefile_ad
MD5のハッシュ値 *largefile_ae
MD5のハッシュ値 *largefile_af
  1. [6]各セグメントファイルのファイルサイズを確認します。
ls -l
  1. [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のドキュメントにてご確認ください。