Tablestore SDK for Node.js を使用して、Wide Column モデルの操作を実行します。
クイックスタート
環境をセットアップし、SDK をインストールし、クライアントを初期化して、Tablestore SDK for Node.js の使用を開始します。
前提条件
-
Node.js 4.0 以降。
重要互換性の問題があるため、Node.js 12.0 から 12.14 は使用しないでください。
Node.js 開発ツール。
SDK のインストール
次の npm コマンドを実行して、Tablestore SDK for Node.js をインストールします。
npm install tablestore
一般的な Wide Column モデルの操作を含むサンプルプログラムは、次の方法で入手できます。
Node.js SDK をダウンロードし、sample フォルダ内のサンプルをご参照ください。
GitHub リポジトリをご参照ください。
アクセス認証情報の設定
Alibaba Cloud アカウントまたは RAM ユーザーの AccessKey を作成できます。次に、以下に示すように環境変数に AccessKey を設定します。環境変数に AccessKey を設定すると、機密情報がコードにハードコーディングされるのを防ぐことができるため、セキュリティが向上します。
設定が完了したら、IDE、コマンドラインインターフェイス、その他のデスクトップアプリケーション、バックグラウンドサービスなど、開発環境を再起動またはリフレッシュする必要があります。これにより、最新のシステム環境変数が確実に読み込まれます。他の種類のアクセス認証情報の詳細については、「アクセス認証情報の設定」をご参照ください。
Linux
次のコマンドを実行して、環境変数の設定を
~/.bashrcファイルに追加します。echo "export TABLESTORE_ACCESS_KEY_ID='YOUR_ACCESS_KEY_ID'" >> ~/.bashrc echo "export TABLESTORE_ACCESS_KEY_SECRET='YOUR_ACCESS_KEY_SECRET'" >> ~/.bashrc次のコマンドを実行して変更を適用します。
source ~/.bashrc次のコマンドを実行して、環境変数が有効であることを確認します。
echo $TABLESTORE_ACCESS_KEY_ID echo $TABLESTORE_ACCESS_KEY_SECRET
macOS
ターミナルで次のコマンドを実行して、デフォルトのシェルタイプを表示します。
echo $SHELLデフォルトのシェルタイプに基づいて、次の操作を実行します。
Zsh
次のコマンドを実行して、環境変数の設定を
~/.zshrcファイルに追加します。echo "export TABLESTORE_ACCESS_KEY_ID='YOUR_ACCESS_KEY_ID'" >> ~/.zshrc echo "export TABLESTORE_ACCESS_KEY_SECRET='YOUR_ACCESS_KEY_SECRET'" >> ~/.zshrc次のコマンドを実行して変更を適用します。
source ~/.zshrc次のコマンドを実行して、環境変数が有効であることを確認します。
echo $TABLESTORE_ACCESS_KEY_ID echo $TABLESTORE_ACCESS_KEY_SECRET
Bash
次のコマンドを実行して、環境変数の設定を
~/.bash_profileファイルに追加します。echo "export TABLESTORE_ACCESS_KEY_ID='YOUR_ACCESS_KEY_ID'" >> ~/.bash_profile echo "export TABLESTORE_ACCESS_KEY_SECRET='YOUR_ACCESS_KEY_SECRET'" >> ~/.bash_profile次のコマンドを実行して変更を適用します。
source ~/.bash_profile次のコマンドを実行して、環境変数が有効であることを確認します。
echo $TABLESTORE_ACCESS_KEY_ID echo $TABLESTORE_ACCESS_KEY_SECRET
Windows
CMD
コマンドプロンプト (CMD) で次のコマンドを実行して、環境変数を設定します。
setx TABLESTORE_ACCESS_KEY_ID "YOUR_ACCESS_KEY_ID" setx TABLESTORE_ACCESS_KEY_SECRET "YOUR_ACCESS_KEY_SECRET"CMD を再起動し、次のコマンドを実行して、環境変数が有効であることを確認します。
echo %TABLESTORE_ACCESS_KEY_ID% echo %TABLESTORE_ACCESS_KEY_SECRET%
PowerShell
PowerShell で次のコマンドを実行します。
[Environment]::SetEnvironmentVariable("TABLESTORE_ACCESS_KEY_ID", "YOUR_ACCESS_KEY_ID", [EnvironmentVariableTarget]::User) [Environment]::SetEnvironmentVariable("TABLESTORE_ACCESS_KEY_SECRET", "YOUR_ACCESS_KEY_SECRET", [EnvironmentVariableTarget]::User)次のコマンドを実行して、環境変数が有効であることを確認します。
[Environment]::GetEnvironmentVariable("TABLESTORE_ACCESS_KEY_ID", [EnvironmentVariableTarget]::User) [Environment]::GetEnvironmentVariable("TABLESTORE_ACCESS_KEY_SECRET", [EnvironmentVariableTarget]::User)
クライアントの初期化
クライアントを初期化した後、インスタンス内のテーブルを一覧表示して、接続を確認します。
新しいインスタンスでは、パブリックネットワークアクセスがデフォルトで無効になっています。パブリックネットワーク経由でインスタンスリソースにアクセスするには、ネットワーク管理 でパブリックネットワークアクセスを有効にしてください。
var TableStore = require('tablestore');
// yourInstanceName をインスタンス名に置き換えます
var instancename = 'yourInstanceName';
// yourEndpoint をインスタンスのエンドポイントに置き換えます
var endpoint = 'yourEndpoint';
// 環境変数から AccessKey ID と AccessKey Secret を取得します
var accessKeyId = process.env.TABLESTORE_ACCESS_KEY_ID;
var secretAccessKey = process.env.TABLESTORE_ACCESS_KEY_SECRET;
// Tablestore クライアントを初期化します
var client = new TableStore.Client({
accessKeyId: accessKeyId,
secretAccessKey: secretAccessKey,
endpoint: endpoint,
instancename: instancename
});
// インスタンス内のすべてのテーブルを一覧表示し、コンソールに出力します
client.listTable({}, function (err, data) {
if (err) {
console.log('error:', err);
return;
}
console.log('success:', data);
});
データ型
Tablestore のデータ型は、次のように Node.js SDK のデータ型にマッピングされます。
|
Tablestore データ型 |
Node.js SDK データ型 |
説明 |
|
文字列 |
string |
JavaScript のプリミティブ型。 |
|
整数 |
int64 |
SDK が提供する型。JavaScript にはネイティブの 64 ビット整数型がありません。SDK は |
|
Double |
number |
JavaScript のプリミティブ型。 |
|
ブール値 |
boolean |
JavaScript のプリミティブ型。 |
|
バイナリ |
バッファー |
バイナリデータを処理するための Node.js の |
TableStore.Long は、int64 と JavaScript のネイティブな number 型または string 型を相互に変換します:
// number または string から int64 を作成します
const valueA = TableStore.Long.fromNumber(1000);
const valueB = TableStore.Long.fromString('2000');
// int64 を JavaScript のネイティブ型に変換します
const numA = valueA.toNumber(); // 1000
const strA = valueA.toString(); // '1000'
const numB = valueB.toNumber(); // 2000
const strB = valueB.toString(); // '2000'
よくある質問
関連ドキュメント
Tablestore のエラー処理については、「エラー処理」をご参照ください。