全部产品
Search
文档中心

Tablestore:Bind global table

更新时间:Feb 27, 2026

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

Inisialisasi client.

Deskripsi Metode

public BindGlobalTableResponse bindGlobalTable(BindGlobalTableRequest request) throws TableStoreException, ClientException

Parameter BindGlobalTableRequest

  • globalTableId (Wajib) String: ID global table.

    Catatan

    Jika Anda tidak memiliki ID global table, panggil operasi DescribeTable untuk mengkueri detail replica. Jika replica tabel tersebut termasuk dalam global table, respons operasi DescribeTable akan menyertakan ID global table yang sesuai.

  • globalTableName (Wajib) String: Nama global table. Harus sesuai dengan nama tabel dasar.

  • placements (Wajib) List<Placement>: Daftar konfigurasi lokasi distribusi baru. Setiap konfigurasi berisi parameter berikut:

    Nama

    Tipe

    Deskripsi

    regionId (Wajib)

    String

    ID wilayah.

    instanceName (Wajib)

    String

    Nama instans.

    writable (Wajib)

    boolean

    Apakah dapat ditulis. Nilai default-nya adalah `false`. Saat menggunakan mode aktif-pasif, pertahankan konfigurasi default. Saat menggunakan mode multi-aktif, atur parameter ini menjadi `true` sesuai kebutuhan.

Contoh

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());
}