このトピックでは、Node.js SDK を使用して Tablestore でデータテーブルを作成する方法について説明します。
使用上の注意
データテーブルを作成した後、データに対して操作を実行する前に、データテーブルがロードされるまで待機してください。そうしないと、操作は失敗します。このプロセスには通常数秒かかります。
前提条件
メソッドの説明
createTable: function createTable(params, callback)サンプルコード
データテーブルの作成
次のサンプルコードは、String 型のプライマリキー列を 1 つ含む test_table テーブルを作成します。
var params = {
// データテーブルのスキーマ情報
tableMeta: {
tableName: 'test_table',
// データテーブルを作成するには、少なくとも 1 つのプライマリキー列が必要です
primaryKey: [
{
name: 'id',
type: 'STRING'
}
],
// (オプション) 事前定義列を追加します
definedColumn: [
{
name: 'name',
type: TableStore.DefinedColumnType.DCT_STRING
}
]
},
// データテーブルの構成情報
tableOptions: {
// データテーブルを作成するときは、TTL を指定する必要があります。値 -1 は、データが期限切れにならないことを示します
timeToLive: -1,
// データテーブルを作成するときは、バージョンの最大数を指定する必要があります
maxVersions: 1,
// (オプション) 最大バージョンずれを設定します
maxTimeDeviation: 86400,
// (オプション) 更新を許可するかどうかを指定します
allowUpdate: true
},
// データテーブルを作成するときは、予約済み読み取り/書き込みスループットを設定する必要があります (CU モードの高性能インスタンスのみ、予約済み読み取り/書き込みスループットにゼロ以外の値を設定できます)
reservedThroughput: {
capacityUnit: {
read: 0,
write: 0
}
},
// (オプション) Stream 情報を構成します
streamSpecification: {
enableStream: true,
expirationTime: 168
}
};
client.createTable(params, function (err, data) {
if (err) {
console.error('error:', err);
return;
}
console.log('success:', data);
});セカンダリインデックスを持つデータテーブルの作成
次のサンプルコードは、データテーブルを作成し、セカンダリインデックスを構成します。
var params = {
// データテーブルのスキーマ情報
tableMeta: {
tableName: 'test_table',
// プライマリキー
primaryKey: [
{
name: 'id',
type: 'STRING'
}
],
// 事前定義列
definedColumn: [
{
name: 'name',
type: TableStore.DefinedColumnType.DCT_STRING
}
]
},
// データテーブルの構成情報
tableOptions: {
// TTL
timeToLive: -1,
// バージョンの最大数
maxVersions: 1
},
// 予約済み読み取り/書き込みスループット (CU モードの高性能インスタンスのみ、予約済み読み取り/書き込みスループットにゼロ以外の値を設定できます)
reservedThroughput: {
capacityUnit: {
read: 0,
write: 0
}
},
// セカンダリインデックス情報
indexMetas: [
{
name: 'test_table_index',
// インデックスプライマリキー
primaryKey: ['id'],
// インデックス事前定義列
definedColumn: ['name'],
// インデックス型
indexType: TableStore.IndexType.IT_LOCAL_INDEX,
// インデックス更新モード
indexUpdateMode: TableStore.IndexUpdateMode.IUM_SYNC_INDEX
}
]
};
client.createTable(params, function (err, data) {
if (err) {
console.error('error:', err);
return;
}
console.log('success:', data);
});