Cloud Data Box の概要
- 印刷する
- PDF
Cloud Data Box の概要
- 印刷する
- PDF
記事の要約
この要約は役に立ちましたか?
ご意見ありがとうございます
概要
Cloud Data Box APIは RESTfulの形で提供されます。HTTP方式の GET/POST/DELETEメソッドの呼び出しを介して行われます。
APIにより Data Boxファイルの持ち込みを行います。
共通設定
Cloud Data Box API Endpoint
リージョン | Endpoint |
---|---|
韓国(KR) | https://databox.apigw.ntruss.com/api/v1 |
リクエストヘッダ
ヘッダ名 | 説明 |
---|---|
x-ncp-apigw-timestamp | 1970年1月1日00:00:00協定世界時(UTC)からの経過時間をミリ秒(Millisecond)で表し、API Gatewayサーバとの時間差が5分以上の場合は無効なリクエストとみなすx-ncp-apigw-timestamp:{Timestamp} |
x-ncp-iam-access-key | NAVER Cloud Platformポータルから発行された Access Key ID値x-ncp-iam-access-key:{Account Access Key} |
x-ncp-apigw-signature-v2 | Access Key ID値と Secret Keyで暗号化した署名x-ncp-apigw-signature-v2:{API Gateway Signature} |
x-ncp-lang | APIレスポンス値の多言語処理のための値。(入力値の例: ko-KR、en-US、zh-CN、デフォルト値: en-US)x-ncp-lang:{language code} |
認証ヘッダ
Data Box APIは NAVER Cloud Platform API Gatewayを通じて提供され、API Gatewayに登録された APIを使用するには2種類の認証キー(Access Key ID、Secret Key)を発行してもらう必要があります
詳細については NAVER CLOUD PLATFORM APIガイドをご参照ください。
- 認証キーを作成
- NAVER Cloud Platformポータルの マイページ > アカウント管理 > 認証キー管理 メニューで 新規 API認証キー作成 をクリックし、Access Key ID、Secret Keyを作成します
- もし Access Key ID、Secret Keyがある場合、そのキーを使用します。
リクエスト例
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"
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;
}
オペレーション
持ち込み
Object Storage-Bucket
この記事は役に立ちましたか?