대용량 파일 관리(DLO/SLO)
    • PDF

    대용량 파일 관리(DLO/SLO)

    • PDF

    Article Summary

    Classic/VPC 환경에서 이용 가능합니다.

    대용량 파일을 업로드하고 다운로드하는 방법을 설명합니다. 대용량 파일은 여러 개의 Segment Object로 분할하여 동시에 업로드할 수 있습니다. 저장 가능한 Segment의 최대 크기는 5GB이며, 5GB를 초과하는 오브젝트는 반드시 분할하여 업로드해야 합니다.

    대용량 파일 관리 방식은 매니페스트 파일로 세그먼트 오브젝트를 관리하는 방식에 따라 Dynamic Large Object(DLO), Static Large Object(SLO)으로 나뉩니다. 매니페스트 파일은 세그먼트 오브젝트의 위치 정보가 저장된 파일을 의미하며, 매니페스트 파일을 이용하여 세그먼트 오브젝트에 하나의 오브젝트처럼 접근할 수 있습니다. DLO의 매니페스트 파일은 비어 있으며 X-Object-Manifest 메타 데이터 헤더가 있고 이 헤더에 모든 세그먼트 오브젝트가 공통으로 가지는 이름(경로)이 있습니다. SLO의 매니페스트 파일에는 JSON 형식의 모든 세그먼트 오브젝트의 이름 목록이 있습니다. DLO와 SLO의 차이점에 대한 자세한 설명은 OpenStack Documentation을 참조해 주십시오.

    Dynamic Large Object(DLO)

    Dynamic Large Object 업로드/다운로드 방법에 대해 설명합니다.

    DLO 업로드

    DLO 방식을 사용하여 오브젝트를 업로드하는 방법은 다음과 같습니다.

    1. 대용량 파일을 분할해 주십시오.
      • API에서 파일 분할을 지원하지는 않습니다.
      • 분할한 파일의 크기는 분할한 파일의 개수가 10,000개를 넘지 않은 크기로 정해야 합니다.
    2. 분할된 파일을 세그먼트 오브젝트로 업로드해 주십시오.
      • 세그먼트 오브젝트는 반드시 같은 컨테이너에 위치해야 합니다.
      • 세그먼트 오브젝트는 이름에 동일한 prefix를 가져야 합니다.
      • 세그먼트 오브젝트의 이름의 정렬된 순서에 따라서 DLO로 연결됩니다.
        <예시> 0001->0002->0003
      • 세그먼트 오브젝트를 업로드하는 방식은 일반 오브젝트를 업로드하는 방식과 동일합니다.
    3. DLO에 대한 매니페스트 파일을 업로드해 주십시오.
      • 매니페스트 파일은 세그먼트 오브젝트의 위치 정보가 저장된 파일입니다.
      • 매니페스트 파일의 크기는 0입니다.
      • X-Object-Manifest 헤더를 포함해야 하며, 헤더의 값은 Segment Object의 위치입니다. 마지막에 '/' 값이 설정되어야 합니다.
    주의

    매니페스트 오브젝트는 해당 오브젝트의 메타 데이터를 가지고 있으며 실제 데이터는 세그먼트 오브젝트에 링크되어 있습니다. 따라서 세그먼트 오브젝트 또는 매니페스트 오브젝트 중 하나라도 삭제할 경우, 오브젝트는 복구할 수 없습니다.

    세그먼트 오브젝트 업로드(1byte 파일 3개)

    세그먼트 오브젝트를 업로드하는 예시는 다음과 같습니다.

    curl -i -X PUT \
      https://kr.archive.ncloudstorage.com/v1/AUTH_{project_id}/DLO/dlo-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}/DLO/dlo-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}/DLO/dlo-object/0003 \
      -H 'X-Auth-Token: $token' \
      --data-binary '3'
    
    HTTP/1.1 201 Created
    Last-Modified: Tue, 18 Sep 2018 06:24:04 GMT
    Content-Length: 0
    Etag: eccbc87e4b5ce2fe28308fd9f2a7baf3
    Content-Type: text/html; charset=UTF-8
    X-Trans-Id: tx016a1cb31a684589b2a1d-005ba09a03
    X-Openstack-Request-Id: tx016a1cb31a684589b2a1d-005ba09a03
    Date: Tue, 18 Sep 2018 06:24:03 GMT
    

    DLO 매니페스트 파일 업로드

    DLO 매니페스트 파일을 업로드하는 방법은 다음과 같습니다.

    curl -i -X PUT \
      https://kr.archive.ncloudstorage.com/v1/AUTH_{project_id}/DLO/dlo \
      -H 'X-Object-Manifest: DLO/dlo-object/' \
      -H 'X-Auth-Token: $token' \
      --data-binary ''
    
    HTTP/1.1 201 Created
    Last-Modified: Tue, 18 Sep 2018 06:32:30 GMT
    Content-Length: 0
    Etag: d41d8cd98f00b204e9800998ecf8427e
    Content-Type: text/html; charset=UTF-8
    X-Trans-Id: tx086882957a56457fb39f9-005ba09bfd
    X-Openstack-Request-Id: tx086882957a56457fb39f9-005ba09bfd
    Date: Tue, 18 Sep 2018 06:32:29 GMT
    

    DLO 파일 다운로드

    업로드된 DLO 파일을 다운로드하려면 매니페스트 파일을 다운로드합니다. 매니페스트 파일을 다운로드하는 예시는 다음과 같습니다.

    curl -i -X GET \
      https://kr.archive.ncloudstorage.com/v1/AUTH_{project_id}/DLO/dlo \
      -H 'X-Auth-Token: $token' \
      --data-binary ''
    
    HTTP/1.1 200 OK
    Content-Length: 3
    Etag: "8f481cede6d2ddc07cb36aa084d9a64d"
    Accept-Ranges: bytes
    Last-Modified: Tue, 18 Sep 2018 06:32:30 GMT
    X-Object-Manifest: DLO/dlo-object/
    X-Timestamp: 1537252349.91188
    Content-Type: application/x-www-form-urlencoded
    X-Trans-Id: txca733836612d46978fa6d-005ba09c2c
    X-Openstack-Request-Id: txca733836612d46978fa6d-005ba09c2c
    Date: Tue, 18 Sep 2018 06:33:16 GMT
    
    123
    

    Static Large Object(SLO)

    Static Large Object 방식에 대해 설명합니다.

    SLO 업로드

    SLO 방식을 사용하여 오브젝트를 업로드하는 방법은 다음과 같습니다.

    1. 대용량 파일을 분할해 주십시오.
      • API로 파일 분할을 지원하지 않습니다.
      • 분할한 파일의 크기는 분할한 파일의 개수가 10,000개를 넘지 않은 크기로 설정해야 합니다.
    2. 분할된 파일은 세그먼트 오브젝트로 업로드해 주십시오.
      • 세그먼트 오브젝트의 위치 및 이름에 대한 제약은 없습니다.
      • 세그먼트 오브젝트 업로드 방식은 일반 오브젝트 업로드와 동일합니다.
    3. SLO에 대한 매니페스트 파일을 업로드해 주십시오.
      • 매니페스트 파일은 세그먼트 오브젝트의 위치 정보가 있는 파일입니다.
      • 업로드 요청 시 query 파라미터에 아래 내용을 포함해야 합니다.
        ?multipart-manifest=put
        
        요청 body에 세그먼트 오브젝트의 정보를 JSON 포맷으로 포함해야 합니다.
    주의

    매니페스트 오브젝트는 해당 오브젝트 메타 데이터를 가지고 있으며 실제 데이터는 세그먼트 오브젝트에 링크되어 있습니다. 따라서 세그먼트 오브젝트 또는 매니페스트 오브젝트 중 하나라도 삭제할 경우, 오브젝트는 복구가 불가능합니다.

    세그먼트 오브젝트 업로드 (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 매니페스트 파일 업로드

    SLO 매니페스트 파일을 업로드하는 예시는 다음과 같습니다.

    curl -i -X PUT \
      https://kr.archive.ncloudstorage.com/v1/AUTH_{project_id}/SLO/slo?multipart-manifest=put \
      -H 'X-Auth-Token: $token' \
      --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
    

    이 문서가 도움이 되었습니까?

    Changing your password will log you out immediately. Use the new password to log back in.
    First name must have atleast 2 characters. Numbers and special characters are not allowed.
    Last name must have atleast 1 characters. Numbers and special characters are not allowed.
    Enter a valid email
    Enter a valid password
    Your profile has been successfully updated.