方法說明
public DescribeGlobalTableResponse describeGlobalTable(DescribeGlobalTableRequest request) throws TableStoreException, ClientException
DescribeGlobalTableRequest參數說明
globalTableId(必選)String:全域表ID。
說明 如果未記錄全域表ID,可通過調用DescribeTable操作查詢表副本的詳細資料。當表副本屬於全域表時,DescribeTable操作的返回結果中會包含對應全域表ID。
globalTableName(必選)String:全域表名稱,必須與基礎資料表名稱相同。
returnRpo(可選)boolean:是否同時返回RPO。預設值為false,表示不返回。返回RPO耗時較長,非必要時不建議使用。
phyTable(可選)GlobalTableTypes.PhyTable:篩選物理表的條件,包含以下參數:
名稱 | 類型 | 說明 |
regionId(可選) | String | 物理表所在地區ID。 |
instanceName(可選) | String | 物理表所在執行個體名稱。 |
DescribeGlobalTableResponse傳回值說明
globalTableId(必選)String:全域表ID。
status(必選)GlobalTableTypes.GlobalTableStatus:全域表狀態。取值如下:
狀態 | 說明 |
INIT | 初始化中。全域表第一次建立後進入初始化狀態。 |
RE_CONF | 重新設定中。全域表的所有的副本或者部分複本在配置中。配置中可能是建表、同步歷史資料或綁定解除綁定全域表的成員導致。 |
ACTIVE | 已啟用。 |
phyTables(必選)List<PhyTable>:物理表資訊,包含以下參數:
名稱 | 類型 | 說明 |
regionId(必選) | String | 物理表所在地區ID。 |
instanceName(必選) | String | 物理表所在執行個體名稱。 |
tableName(必選) | String | 物理表名稱。 |
status(必選) | PhyTableStatus | 物理表狀態。取值如下: PENDING:排隊中。等待其他副本表配置完成後繼續處理。 INIT:初始化中。建立或配置副本表中。 SYNCDATA:同步中。同步存量資料,並開啟增量資料同步。 READY:準備完成。副本表存量資料同步完成且增量通道開啟完成,不可寫。 ACTIVE:已啟用,同步中。副本表可正常讀寫。 UNBINDING:解除綁定中。正在從當前全域表上解除綁定。解除綁定時未刪除當前副本表和表資料。 UNBOUND:已解除綁定。當前副本表已從全域表中解除綁定。解除綁定時未刪除當前副本表和表資料。
|
statusTimestamp(可選) | long | 狀態更新時間戳記。單位為毫秒。 |
writable(必選) | boolean | 是否可寫。 |
role(可選) | String | 物理表在服務模式中的角色。 |
rpo(可選) | Instant | 物理表當前資料的RPO。 |
tableId(可選) | String | 物理表ID。 |
stage(可選) | SyncStage | 資料同步階段。 |
isFailed(必選) | boolean | 是否處於失敗狀態。 |
message(可選) | String | 物理表狀態附加資訊(例如失敗原因)。在建立全域表或綁定解除綁定同步關係時,如果處理過程出現失敗IsFailed,則會顯示相應原因。 |
樣本
private static void describeGlobalTableExample(SyncClient client) {
// 構造請求
DescribeGlobalTableRequest req = new DescribeGlobalTableRequest(
// 全域表 ID。
"gt-ee1b54db-f5d9-43f3-ad36-ec44********",
// 全域表名稱
"t-gt-test-1"
);
// 發起請求
DescribeGlobalTableResponse descResp = client.describeGlobalTable(req);
// 輸出全域表基本資料
System.out.println("Status: " + descResp.getStatus());
System.out.println("Global Table ID: " + descResp.getGlobalTableId());
// 輸出副本部署資訊(Placement)
List<GlobalTableTypes.PhyTable> placements = descResp.getPhyTables();
for (GlobalTableTypes.PhyTable p : placements) {
System.out.println("Replica in " + p.getRegionId() +
", Instance: " + p.getInstanceName() +
", Writable: " + p.isWritable());
}
}