Data Box Frame の概要
    • PDF

    Data Box Frame の概要

    • PDF

    記事の要約

    概要

    Data Box Frame APIは RESTfulの形で提供されます。HTTP方式の GET/POST/DELETEメソッドの呼び出しを介して行われます。
    APIにより Data Box Frameおよび data Boxを作成することができ、搬入/搬出/搬出承認/搬出返却などの搬入/搬出審査を行うことができます。

    共通設定

    Data Box Frame API Endpoint

    リージョンEndpoint
    韓国(KR)https://databoxframe.apigw.ntruss.com/api/v1

    リクエストヘッダ

    ヘッダ名説明
    x-ncp-apigw-timestamp1970年1月1日00:00:00協定世界時(UTC)からの経過時間をミリ秒(Millisecond)で表し、API Gatewayサーバとの時間差が5分以上の場合は、無効なリクエストとみなす
    x-ncp-apigw-timestamp:{Timestamp}
    x-ncp-iam-access-keyNAVERクラウドプラットフォームポータルで発行した Access Key ID 値
    x-ncp-iam-access-key:{Account Access Key}
    x-ncp-apigw-signature-v2Access Key ID の値と Secret Keyで暗号化した署名
    x-ncp-apigw-signature-v2:{API Gateway Signature}
    x-ncp-langAPI応答値の多言語処理のための値。(入力値例: ko-KR、en-US、zh-CN、デフォルト値: en-US)
    x-ncp-lang:{language code}

    認証ヘッダ

    Data Box Frame APIは NAVERクラウドプラットフォーム API Gatewayを通じ提供され、API Gatewayに登録された APIを使用するためには2種類の認証キー(Access Key ID、Secret Key)を発行する必要があります

    詳細については、NAVERクラウドプラットフォーム APIガイドをご参照ください。

    • 認証キーの作成
      • NAVERクラウドプラットフォームポータルのマイページ > アカウント管理 > 認証キー管理メニューで新規 API****認証キー作成をクリックして Access Key ID、Secret Keyを作成します
      • もし Access Key ID、Secret Keyがある場合このキーを使用します。

    リクエスト例

    curl -i -s -X GET \
    -H "accept: application/json" \
    -H "x-ncp-iam-access-key: 1TrIkA58bQJknHn5hsC6" \
    -H "x-ncp-apigw-timestamp: 1682988927452" \
    -H "x-ncp-apigw-signature-v2: 0fyArnaWvkYYsepc6rMXKFTADwE2NnIGFHQ4GyKc3pU=" \
    -H "cache-control: no-cache" \
    "https://databoxframe.apigw.ntruss.com/api/v1/data-box-frame/get-data-box-frame-list"
    
    • Signatureの作成(改行文字は \nを使用)

      • リクエストに合わせて StringToSignを作成し、SecretKeyで HmacSHA256アルゴリズムに暗号化した後、Base64にエンコードします。
      • この値をx-ncp-apigw-signature-v2として使用します。
    • サンプルコード

    public String makeSignature() {
        String space = " ";  // 空白
        String newLine = "\n";  // 改行
        String method = "POST";  // HTTPメソッド
        String url = "/api/v1/mails";  // ドメインを除く "/" 下記全体 url (クエリストリングを含む)
        String timestamp = "{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 = " ";  // 空白
        $newLine = "\n";  // 改行
        $method = "POST";  // HTTPメソッド
        $uri= "/api/v1/mails";  // ドメインを除く "/" 下記全体 url(クエリストリングを含む)
        $timestamp = "{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;
    }
    

    共通レスポンス

    HTTPステータスコードでリターンされ、Body情報として伝達する。

    HTTP Status Codeリターンコード説明
    200-一般的なリクエスト成功
    40010001
    130***
    リクエスト情報およびパラメータエラー
    エラーレスポンスメッセージ参照
    40310002リクエスト情報に対する権限なし
    40410009リソースが存在しない
    500130000サービス内部エラー
    500139999連動サービス API呼び出しエラー

    オペレーション

    Data Box Frame

    Data Box

    搬入

    搬出

    搬出の審査

    Object Storage-Bucket


    この記事は役に立ちましたか?

    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.