大容量ファイル管理(DLO/SLO)
    • PDF

    大容量ファイル管理(DLO/SLO)

    • PDF

    Article Summary

    Classic/VPC環境で利用できます。

    大容量ファイルをアップロードしてダウンロードする方法について説明します。大容量ファイルは複数の Segment Objectに分割して同時にアップロードできます。保存可能な Segmentの最大サイズは5GBで、5GBを超えるオブジェクトは必ず分割してアップロードします。

    大容量ファイル管理方式は、マニフェストファイルでセグメントオブジェクトを管理する方式により、Dynamic Large Object(DLO)、Static Large Object(SLO)に分けられます。マニフェストファイルは、セグメントオブジェクトの位置情報が保存されているファイルを意味し、マニフェストファイルを使用してセグメントオブジェクトに1つのオブジェクトのようにアクセスできます。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フォーマットで含めます。

    注意

    マニフェストオブジェクトはそのオブジェクトメタデータを持っており、実際のデータはセグメントオブジェクトにリンクされています。したがって、セグメントオブジェクトまたはマニフェストオブジェクトのいずれかを削除する場合、オブジェクトは復旧できません。

    セグメントオブジェクトのアップロード(1byteファイル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.