대용량 파일 관리(SLO)

5GB 이상의 대용량 파일을 관리하기 위한 절차를 설명합니다.
대용량 파일 관리 방식은 Dynamic Large Object(DLO), Static Large Object(SLO) 2가지 방식이 있으며,
해당 가이드에서는 SLO 방식을 설명합니다.

SLO 업로드

  1. 5GB 이상의 파일을 분할 해야 합니다.
    API에서 파일 분할을 지원하지는 않습니다.
    분할 크기 및 수량은 사용자가 직접 정하시면 됩니다.

  2. 분할된 파일들을 Segement Object로 업로드를 합니다.
    Segment Object들의 위치 및 이름에 제약은 없습니다. Segment Object의 업로드는 일반 오브젝트 업로드와 같이 진행하시면 됩니다.

  3. 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

""에 대한 건이 검색되었습니다.

    ""에 대한 검색 결과가 없습니다.

    처리중...