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クラウドプラットフォームポータルから発行された Access Key IDx-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クラウドプラットフォーム 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 -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
NAS
この記事は役に立ちましたか?