大容量ファイルの管理(SLO)
5GB以上の大容量のファイルを管理するための手順を説明します。
大容量ファイルの管理方法は、 Dynamic Large Object(DLO), Static Large Object(SLO) など2つの方式があり、
該当ガイドでは、SLO方式を説明します。
SLOのアップロード
5GB以上のファイルは分割します。
APIでファイル分割はサポートしません。
分割サイズと数量は、ユーザーが直接指定してください。分割されたファイルを Segement Objectにアップロードします。
Segment Objectの位置及び名前に制約はありません。 Segment Objectのアップロードは、通常のオブジェクトのアップロードと同じく行ってください。SLOのマニフェストファイルをアップロードします。 Segment Objectの位置情報を持っているファイルです アップロードをリクエストする時にqueryパラメータとして以下の内容を含む必要があります。
?multipart-manifest=put
リクエストのbodyにはSegment Objectの情報をJSONフォーマットに含ませます。
詳細については、以下の例示を参照します。
Segment Object のアップロード(1bytesファイル3つ)
curl -i -X PUT \
https://kr.archive.ncloudstorage.com/v1/AUTH_{project_id}/SLO/slo-object/0001 \
-H 'X-Auth-Token: $token' \
--data-binary '1'
HTTP/1.1 201 Created
Last-Modified: Tue, 18 Sep 2018 06:20:35 GMT
Content-Length: 0
Etag: c4ca4238a0b923820dcc509a6f75849b
Content-Type: text/html; charset=UTF-8
X-Trans-Id: tx3f192e9948504e689285d-005ba09932
X-Openstack-Request-Id: tx3f192e9948504e689285d-005ba09932
Date: Tue, 18 Sep 2018 06:20:34 GMT
curl -i -X PUT \
https://kr.archive.ncloudstorage.com/v1/AUTH_{project_id}/SLO/slo-object/0002 \
-H 'X-Auth-Token: $token' \
--data-binary '2'
HTTP/1.1 201 Created
Last-Modified: Tue, 18 Sep 2018 06:23:38 GMT
Content-Length: 0
Etag: c81e728d9d4c2f636f067f89cc14862c
Content-Type: text/html; charset=UTF-8
X-Trans-Id: tx22f749319f844f3ebb0dc-005ba099e9
X-Openstack-Request-Id: tx22f749319f844f3ebb0dc-005ba099e9
Date: Tue, 18 Sep 2018 06:23:37 GMT
curl -i -X PUT \
https://kr.archive.ncloudstorage.com/v1/AUTH_{project_id}/SLO/slo-object/0003 \
-H 'X-Auth-Token: $token' \
--data-binary '3'
HTTP/1.1 201 Created
Last-Modified: Tue, 18 Sep 2018 07:05:30 GMT
Content-Length: 0
Etag: eccbc87e4b5ce2fe28308fd9f2a7baf3
Content-Type: text/html; charset=UTF-8
X-Trans-Id: tx3ed5e77d00a14631b96f4-005ba0a3b9
X-Openstack-Request-Id: tx3ed5e77d00a14631b96f4-005ba0a3b9
Date: Tue, 18 Sep 2018 07:05:29 GMT
SLO マニフェストファイルのアップロード
curl -i -X PUT \
http://kr.beta-archive.ncloudstorage.com/v1/AUTH_f968d2ccd5aa4dada14302397d785663/SLO/slo?multipart-manifest=put \
-H 'X-Auth-Token: gAAAAABbn32xZY6gaC5QNuqXVRRxFRithPtdnEVXLxvm73uA8gxerd_Ze2uz2WErOeGwY2GeC9x3YqYXXxPCQUqc8vwKUJ0kzXswwQADWDs8KLWnLng-S6fyWun_Xw6D7r0ypstJtihPeRjohgVjNkc7XBOot-bW0BZABvL3Pad-lwHsxmXoXU8' \
--data-binary \
'[{"path": "/SLO/slo-object/0001"},{"path": "/SLO/slo-object/0002"},{"path": "/SLO/slo-object/0003"}]'
HTTP/1.1 201 Created
Last-Modified: Tue, 18 Sep 2018 07:13:29 GMT
Content-Length: 0
Etag: "8f481cede6d2ddc07cb36aa084d9a64d"
Content-Type: text/html; charset=UTF-8
X-Trans-Id: txa8c0de4034be4bd0b85b4-005ba0a598
X-Openstack-Request-Id: txa8c0de4034be4bd0b85b4-005ba0a598
Date: Tue, 18 Sep 2018 07:13:28 GMT
SLOのダウンロード
アップロードされたSLOファイルをダウンロードするには、マニフェストファイルをダウンロードします。
詳細については、以下の例示を参照します。
curl -i -X GET \
https://kr.archive.ncloudstorage.com/v1/AUTH_{project_id}/SLO/slo \
-H 'X-Auth-Token: $token' \
HTTP/1.1 200 OK
Content-Length: 3
Accept-Ranges: bytes
Last-Modified: Tue, 18 Sep 2018 07:13:29 GMT
Etag: "8f481cede6d2ddc07cb36aa084d9a64d"
X-Timestamp: 1537254808.62092
X-Static-Large-Object: True
Content-Type: application/x-www-form-urlencoded
X-Trans-Id: txb67bc8f4ade24a80a64a7-005ba0a663
X-Openstack-Request-Id: txb67bc8f4ade24a80a64a7-005ba0a663
Date: Tue, 18 Sep 2018 07:16:51 GMT
123