本文介紹如何通過 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());
}