全部產品
Search
文件中心

Tablestore:查詢表資訊

更新時間:Jun 20, 2025

本文介紹如何通過Node.js SDK查詢資料表的詳細資料。

前提條件

初始化Tablestore Client

方法說明

describeTable: function describeTable(params, callback)

params參數說明

tableName(必選)string:資料表名稱。

範例程式碼

以下範例程式碼用於查詢test_table表的詳細資料。

var params = {
    tableName: 'test_table'
};

client.describeTable(params, function (err, data) {
    if (err) {
        console.error('error:', err);
        return;
    }

    // 擷取資料表結構資訊
    var tableMeta = data.tableMeta;
    console.log('* 資料表名稱:', tableMeta.tableName);
    console.log('* 主鍵資訊 (主鍵類型 1:INTEGER,2:STRING,3:BINARY)');
    tableMeta.primaryKey.forEach(function (primaryKey) {
        console.log(primaryKey.name, ':', primaryKey.type);
    });
    console.log("* 預定義列資訊 (預定義列類型 1:INTEGER,2:DOUBLE,3:BOOLEAN,4:STRING)");
    tableMeta.definedColumn.forEach(function (definedColumn) {
        console.log(definedColumn.name, ':', definedColumn.type);
    });

    // 擷取資料表配置資訊
    var tableOptions = data.tableOptions;
    console.log("* 資料表配置資訊");
    console.log("最大版本數:", tableOptions.maxVersions);
    console.log("資料生命週期:", tableOptions.timeToLive);
    console.log("有效版本偏差:", tableOptions.deviationCellVersionInSec.toNumber());
    console.log("是否允許更新:", tableOptions.allowUpdate);

    // 擷取資料表Stream資訊
    var streamDetails = data.streamDetails
    console.log("* 是否開啟Steam:", streamDetails.enableStream);
    if (streamDetails.enableStream) {
        console.log("Stream到期時間:", streamDetails.expirationTime);
    }

    // 擷取資料表預留讀寫輸送量
    var reservedThroughputDetails = data.reservedThroughputDetails
    console.log("* 預留讀寫輸送量");
    console.log("預留讀輸送量:", reservedThroughputDetails.capacityUnit.read);
    console.log("預留寫輸送量:", reservedThroughputDetails.capacityUnit.write);

    // 擷取二級索引資訊
    data.indexMetas.forEach(function (indexMeta) {
        console.log("* 二級索引名稱:", indexMeta.name);
        console.log("主鍵列表:", indexMeta.primaryKey);
        console.log("預定義列列表:", indexMeta.definedColumn);
        console.log("二級索引類型:", indexMeta.indexType, "(0:IT_GLOBAL_INDEX,1:IT_LOCAL_INDEX)");
        console.log("二級索引更新模式:", indexMeta.indexUpdateMode, "(0:IUM_ASYNC_INDEX,1:IUM_SYNC_INDEX)");
    });
});