Cloud Data Box overview
    • PDF

    Cloud Data Box overview

    • PDF

    Article summary

    Overview

    The Cloud Data Box API is provided in RESTful form. It is done through the HTTP method GET/POST/DELETE method call.
    Data Box file import is executed via API.

    Common settings

    Cloud Data Box API Endpoint

    RegionsEndpoint
    Korea (KR)https://databox.apigw.ntruss.com/api/v1

    Request Headers

    Header nameDescription
    x-ncp-apigw-timestampThis is the number of milliseconds that have elapsed since January 1, 1970 00:00:00 UTC. If the time difference compared to the API Gateway server is more than 5 minutes, then the request is considered invalid
    x-ncp-apigw-timestamp:{Timestamp}
    x-ncp-iam-access-keyAccess key ID value issued on NAVER Cloud Platform portal
    x-ncp-iam-access-key:{Account Access Key}
    x-ncp-apigw-signature-v2The signature encrypted with access key ID value and secret key
    x-ncp-apigw-signature-v2:{API Gateway Signature}
    x-ncp-langA value for multilingual processing of API response values. (Example of input values: ko-KR, en-US, and zh-CN / Default: en-US)
    x-ncp-lang:{language code}

    Authentication header

    The Data Box API is provided via NAVER Cloud Platform API Gateway, which requires you to get 2 authentication keys (Access key ID and secret key).

    For more information, see NAVER Cloud Platform API Guide.

    • Create authentication key
      • Go to My Page > Manage Account > Manage Authentication Key on NAVER Cloud Platform portal, and then click Create a new API authentication key to create an access key ID and secret key
      • You can use your existing access key ID and secret key.

    Request examples

    curl -X GET "https://databox.apigw.ntruss.com/api/v1/import/get-bucket-list" -H "accept: application/json" -H "x-ncp-iam-access-key: ft1GKEpjSc53lHuqtAxE" -H "x-ncp-apigw-timestamp: 1699857251740" -H "x-ncp-apigw-signature-v2: CsVRem0Sn4ToxvxfIcd8/CiIxx7GjQNXrL5075BVTdY=" -H "cache-control: no-cache" -H "pragma: no-cache"
    
    • Create a signature (add a new line with \n)

      • Create a StringToSign appropriate for your request, encrypt it with your secret key and the HMACSHA256 algorithm, and encode it with Base64
      • This value is used as x-ncp-apigw-signature-v2.
    • Sample code

    public String makeSignature() {
        String space = " ";  // Space
        String newLine = "\n";  // Line break
        String method = "POST";  // HTTP method
        String url = "/api/v1/mails";  // Full URL under "/" (including query strings), excluding the domain
        String timestamp = "{timestamp}";  // Current timestamp (epoch, millisecond)
        String accessKey = "{accessKey}";  // access key id (from portal or sub account)
        String secretKey = "{secretKey}";  // secret key (from portal or sub account)
    
        String message = new StringBuilder()
            .append(method)
            .append(space)
            .append(url)
            .append(newLine)
            .append(timestamp)
            .append(newLine)
            .append(accessKey)
            .toString();
    
        SecretKeySpec signingKey = new SecretKeySpec(secretKey.getBytes("UTF-8"), "HmacSHA256");
        Mac mac = Mac.getInstance("HmacSHA256");
        mac.init(signingKey);
    
        byte[] rawHmac = mac.doFinal(message.getBytes("UTF-8"));
        String encodeBase64String = Base64.getEncoder().encodeToString(rawHmac);
    
      return encodeBase64String;
    
    }
    
    function makeSignature() {
        $space = " ";  // Space
        $newLine = "\n";  // Line break
        $method = "POST";  // HTTP method
        $uri = "/api/v1/mails";  // Full URL under "/" (including query strings), excluding the domain
        $timestamp = "{timestamp}";  // Current timestamp (epoch, millisecond)
        $accessKey = "{accessKey}";  // access key id (from portal or sub account)
        $secretKey = "{secretKey}";  // secret key (from portal or sub account)
        
        $hmac = $method.$space.$uri.$newLine.$timestamp.$newLine.$accessKey;
        $signautue = base64_encode(hash_hmac('sha256', $hmac, $secretKey,true));
        
        return $signautue;
    }
    

    Operation

    Import

    Object Storage-Bucket


    Was this article helpful?

    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.