本文介紹如何通過 Java SDK 為全域表增加一個或多個分布位置。
注意事項
綁定操作返回成功後,系統會非同步綁定新的副本並同步資料,可通過調用DescribeGlobalTable查看全域表的目前狀態。當返回狀態為active時,表示全域表新副本綁定成功。
前提條件
方法說明
public BindGlobalTableResponse bindGlobalTable(BindGlobalTableRequest request) throws TableStoreException, ClientException樣本
private static void bindGlobalTableExample(SyncClient client) {
// 構造請求
BindGlobalTableRequest request = new BindGlobalTableRequest(
// 全域表 ID
"gt-ee1b54db-f5d9-43f3-ad36-ec44********",
// 全域表名稱
"my-global-table"
);
// 構建 Placement 列表(至少有一個副本配置)
List<GlobalTableTypes.Placement> placements = new ArrayList<>();
// 樣本:添加華東1(杭州)地區的副本
GlobalTableTypes.Placement hangzhouReplica = new GlobalTableTypes.Placement(
// 副本所在地區 ID
"cn-hangzhou",
// 副本所屬執行個體名稱
"instance-replica-hz",
//主備模式下副本表不可寫(預設值 false)
false
);
// 樣本:添加華東2(上海)地區的副本
GlobalTableTypes.Placement shanghaiReplica = new GlobalTableTypes.Placement(
// 副本所在地區 ID
"cn-shanghai",
// 副本所屬執行個體名稱
"instance-replica-sh",
// 主備模式下副本表不可寫(預設值 false)
false
);
placements.add(hangzhouReplica);
placements.add(shanghaiReplica);
request.setPlacements(placements);
// 發起請求
BindGlobalTableResponse response = client.bindGlobalTable(request);
System.out.println("Bind succeeded. Request ID: " + response.getRequestId());
}