Topik ini menjelaskan cara menambahkan satu atau beberapa lokasi distribusi ke global table menggunakan Tablestore Java SDK.
Catatan
Setelah operasi bind berhasil, sistem akan secara asinkron melakukan bind terhadap replica baru dan menyinkronkan data. Anda dapat memanggil DescribeGlobalTable untuk melihat status terkini global table tersebut. Saat status yang dikembalikan adalah active, replica global table baru telah berhasil di-bind.
Prasyarat
Deskripsi Metode
public BindGlobalTableResponse bindGlobalTable(BindGlobalTableRequest request) throws TableStoreException, ClientExceptionContoh
private static void bindGlobalTableExample(SyncClient client) {
// Membuat permintaan
BindGlobalTableRequest request = new BindGlobalTableRequest(
// ID global table
"gt-ee1b54db-f5d9-43f3-ad36-ec44********",
// Nama global table
"my-global-table"
);
// Membuat daftar Placement (minimal satu konfigurasi replica)
List<GlobalTableTypes.Placement> placements = new ArrayList<>();
// Contoh: Menambahkan replica di wilayah China (Hangzhou)
GlobalTableTypes.Placement hangzhouReplica = new GlobalTableTypes.Placement(
// ID wilayah replica
"cn-hangzhou",
// Nama instans replica
"instance-replica-hz",
// Dalam mode aktif-pasif, tabel replica tidak dapat ditulis (nilai default false)
// Dalam mode multi-aktif, tabel replica dapat diatur menjadi read/write (true) atau read-only (false)
false
);
// Contoh: Menambahkan replica di wilayah China (Shanghai)
GlobalTableTypes.Placement shanghaiReplica = new GlobalTableTypes.Placement(
// ID wilayah replica
"cn-shanghai",
// Nama instans replica
"instance-replica-sh",
// Dalam mode aktif-pasif, tabel replica tidak dapat ditulis (nilai default false)
// Dalam mode multi-aktif, tabel replica dapat diatur menjadi read/write (true) atau read-only (false)
true
);
placements.add(hangzhouReplica);
placements.add(shanghaiReplica);
request.setPlacements(placements);
// Mengirim permintaan
BindGlobalTableResponse response = client.bindGlobalTable(request);
System.out.println("Bind berhasil. Request ID: " + response.getRequestId());
}