全部產品
Search
文件中心

Tablestore:查詢表資訊

更新時間:Jun 26, 2025

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

前提條件

初始化Tablestore Client

方法說明

public DescribeTableResponse DescribeTable(DescribeTableRequest request)

非同步方法呼叫:

public Task<DescribeTableResponse> DescribeTableAsync(DescribeTableRequest request)

DescribeTableRequest參數說明

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

範例程式碼

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

try
{
    var request = new DescribeTableRequest("test_table");
    var response = client.DescribeTable(request);

    // 資料表結構資訊
    var tableMeta = response.TableMeta;
    Console.WriteLine("* 資料表名稱: " + tableMeta.TableName);
    Console.WriteLine("* 主鍵資訊");
    foreach (var primaryKey in tableMeta.PrimaryKeySchema)
    {
        Console.WriteLine($"{primaryKey.Item1}:{primaryKey.Item2}");
    }
    Console.WriteLine("* 預定義列資訊");
    foreach (var definedColumn in tableMeta.DefinedColumnSchema)
    {
        Console.WriteLine($"{definedColumn.Item1}:{definedColumn.Item2}");
    }

    // 資料表配置資訊
    var tableOptions = response.TableOptions;
    Console.WriteLine("* 資料表配置資訊");
    Console.WriteLine("資料生命週期: " + tableOptions.TimeToLive);
    Console.WriteLine("最大版本數: " + tableOptions.MaxVersions);
    Console.WriteLine("有效版本偏差: " + tableOptions.DeviationCellVersionInSec);
    Console.WriteLine("是否允許更新: " + tableOptions.AllowUpdate);

    // 資料表Stream資訊
    var streamDetails = response.StreamDetails;
    Console.WriteLine("* 是否開啟Steam: " + streamDetails.EnableStream);
    if (streamDetails.EnableStream)
        Console.WriteLine("Stream到期時間: " + streamDetails.ExpirationTime);

    // 資料表預留讀寫輸送量
    var reservedThroughputDetails = response.ReservedThroughputDetails;
    Console.WriteLine("* 預留讀寫輸送量");
    Console.WriteLine("預留讀輸送量: " + reservedThroughputDetails.CapacityUnit.Read);
    Console.WriteLine("預留寫輸送量: " + reservedThroughputDetails.CapacityUnit.Write);
}
catch (Exception ex)
{
    Console.WriteLine($"Describe table failed, exception:{ex.Message}");
}