全部产品
Search
文档中心

表格存储:查询表信息

更新时间:Jun 25, 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}");
}