查詢表資訊
更新時間:
Copy as MD
通過 Java SDK的 describeTable 介面,查詢資料表的結構資訊、配置資訊及中繼資料。
前提條件
已初始化 Client。更多資訊,請參見初始化Tablestore Client。
方法說明
public DescribeTableResponse describeTable(DescribeTableRequest request) throws TableStoreException, ClientException
範例程式碼
以下樣本查詢 test_table 的詳細資料,包括表結構、配置、Stream 設定、加密設定、預留讀寫輸送量和二級索引資訊。
public static void describeTableExample(SyncClient client) {
DescribeTableRequest request = new DescribeTableRequest("test_table");
DescribeTableResponse response = client.describeTable(request);
// 擷取資料表結構資訊
TableMeta tableMeta = response.getTableMeta();
System.out.println("* 資料表名稱:" + tableMeta.getTableName());
System.out.println("* 主鍵資訊");
for(PrimaryKeySchema primaryKeySchema : tableMeta.getPrimaryKeyList()) {
System.out.println(primaryKeySchema);
}
System.out.println("* 預定義列資訊");
for(DefinedColumnSchema definedColumnSchema : tableMeta.getDefinedColumnsList()) {
System.out.println(definedColumnSchema);
}
// 擷取資料表的配置資訊
TableOptions tableOptions = response.getTableOptions();
System.out.println("* 資料表配置資訊");
System.out.println("最大版本數:" + tableOptions.getMaxVersions());
System.out.println("資料生命週期:" + tableOptions.getTimeToLive());
System.out.println("有效版本偏差:" + tableOptions.getMaxTimeDeviation());
System.out.println("是否允許更新:" + tableOptions.getAllowUpdate());
// 擷取資料表 Stream 資訊
StreamDetails streamDetails = response.getStreamDetails();
System.out.println("* 是否開啟 Stream:" + streamDetails.isEnableStream());
if(streamDetails.isEnableStream())
System.out.println("Stream 到期時間:" + streamDetails.getExpirationTime());
// 擷取資料表加密設定
SSEDetails sseDetails = response.getSseDetails();
System.out.println("* 是否開啟資料表加密:" + sseDetails.isEnable());
if(sseDetails.isEnable())
System.out.println("加密方式:" + sseDetails.getKeyType());
// 擷取資料表預留讀寫輸送量
ReservedThroughputDetails reservedThroughputDetails = response.getReservedThroughputDetails();
System.out.println("* 預留讀寫輸送量");
System.out.println("預留讀輸送量:" + reservedThroughputDetails.getCapacityUnit().getReadCapacityUnit());
System.out.println("預留寫輸送量:" + reservedThroughputDetails.getCapacityUnit().getWriteCapacityUnit());
// 擷取二級索引資訊
for(IndexMeta indexMeta : response.getIndexMeta()) {
System.out.println("* 二級索引名稱:" + indexMeta.getIndexName());
System.out.println("主鍵列表:" + indexMeta.getPrimaryKeyList().toString());
System.out.println("預定義列列表:" + indexMeta.getDefinedColumnsList().toString());
System.out.println("二級索引類型:" + indexMeta.getIndexType());
System.out.println("二級索引更新模式:" + indexMeta.getIndexUpdateMode());
}
}
相關文檔
该文章对您有帮助吗?