本文介紹如何通過 Java SDK 更新全域表中物理表的配置資訊,例如是否可寫等。
注意事項
如果修改後主備模式下多個副本均可寫,則會出現資料衝突。通常不建議修改,只需在主備切換時修改。
前提條件
方法說明
public UpdateGlobalTableResponse updateGlobalTable(UpdateGlobalTableRequest request) throws TableStoreException, ClientException樣本
private static void updateGlobalTableExample(SyncClient client) {
// 構造待更新的物理表配置
GlobalTableTypes.UpdatePhyTable phyTable = new GlobalTableTypes.UpdatePhyTable(
// 副本所在地區 ID
"cn-shanghai",
// 副本所屬執行個體名稱
"instance-replica-sh",
// 副本表名稱
"i-dest-test"
);
// 在主備模式下進行主備切換時,需要同時修改 writable和 primaryEligible
phyTable.setWritable(true); // 將該副本設為可寫
phyTable.setPrimaryEligible(true); // 允許該副本具備成為主表的資質(用於主備切換)
// 構造請求
UpdateGlobalTableRequest request = new UpdateGlobalTableRequest(
// 全域表 ID
"gt-ee1b54db-f5d9-43f3-ad36-ec44********",
// 全域表名稱
"t-gt-test-1",
phyTable
);
// 發起請求
UpdateGlobalTableResponse response = client.updateGlobalTable(request);
System.out.println("Update succeeded. Request ID: " + response.getRequestId());
}