本文介绍如何通过.NET SDK查询数据表的详细信息。
前提条件
方法说明
public DescribeTableResponse DescribeTable(DescribeTableRequest request)
异步方法:
public Task<DescribeTableResponse> DescribeTableAsync(DescribeTableRequest request)
示例代码
以下示例代码用于查询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}");
}