方法说明
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());
}
}