本文介绍如何通过 Java SDK 为全局表移除一个或多个分布位置。
注意事项
解绑过程仅移除副本表与全局表的关联关系,副本表及其数据将保留。后续可通过DeleteTable接口单独删除副本表。
此操作只是发起解绑请求,完成解绑需要一段时间,请耐心等待,可通过查询全局表信息获取全局表的状态确认是否完成解绑。当全局表状态重新返回为active时表示解绑成功。
前提条件
方法说明
public UnbindGlobalTableResponse unbindGlobalTable(UnbindGlobalTableRequest request) throws TableStoreException, ClientException示例
private static void unbindGlobalTableExample(SyncClient client) {
// 构造请求
UnbindGlobalTableRequest request = new UnbindGlobalTableRequest(
// 全局表 ID
"gt-ee1b54db-f5d9-43f3-ad36-ec44********",
// 全局表名称
"my-global-table"
);
// 构建要移除的副本列表(Removals)
List<GlobalTableTypes.Removal> removals = new ArrayList<>();
// 示例:计划移除华东1(杭州)地域的副本
GlobalTableTypes.Removal hangzhouRemoval = new GlobalTableTypes.Removal(
// 副本所在地域 ID
"cn-hangzhou",
// 副本所属实例名称
"instance-replica-hz"
);
// 示例:计划移除华东2(上海)地域的副本
GlobalTableTypes.Removal shanghaiRemoval = new GlobalTableTypes.Removal(
// 副本所在地域 ID
"cn-shanghai",
// 副本所属实例名称
"instance-replica-sh"
);
removals.add(hangzhouRemoval);
removals.add(shanghaiRemoval);
request.setRemovals(removals);
// 发起请求
UnbindGlobalTableResponse response = client.unbindGlobalTable(request);
System.out.println("Unbind start. Request ID: " + response.getRequestId());
}该文章对您有帮助吗?