全部产品
Search
文档中心

Tablestore:Perbarui konfigurasi tabel

更新时间:Jul 02, 2025

Topik ini menjelaskan cara memperbarui konfigurasi tabel menggunakan Tablestore SDK untuk Java.

Prasyarat

Klien telah diinisialisasi. Untuk informasi lebih lanjut, lihat Inisialisasi Klien Tablestore.

Metode

public UpdateTableResponse updateTable(UpdateTableRequest request) throws TableStoreException, ClientException

Parameter UpdateTableRequest

  • tableName (wajib) String: Nama tabel data.

  • tableOptionsForUpdate (opsional) TableOptions: Informasi konfigurasi. Tabel berikut menggambarkan parameter yang termasuk dalam parameter tableOptionsForUpdate.

    Parameter

    Tipe

    Deskripsi

    timeToLive (opsional)

    OptionalValue<Integer>

    Waktu hidup (TTL) data dalam tabel data. Satuan: detik.

    • Jika Anda menetapkan parameter ini ke -1, data tidak pernah kedaluwarsa. Jika tidak, nilai minimumnya adalah 86400 (satu hari). Data yang melewati periode retensi TTL akan dihapus secara otomatis.

    • Jika Anda ingin menggunakan fitur indeks pencarian atau indeks sekunder, Anda harus menetapkan parameter ini ke -1 atau menetapkan parameter allowUpdate ke false.

    maxVersions (opsional)

    OptionalValue<Integer>

    Jumlah maksimum versi yang dapat disimpan untuk data di setiap kolom atribut.

    • Jika Anda ingin membuat indeks pencarian atau indeks sekunder untuk tabel data, Anda harus menetapkan parameter ini ke 1.

    maxTimeDeviation (opsional)

    OptionalValue<Long>

    Offset versi maksimum. Satuan: detik.

    • Selisih antara waktu sistem saat ini dan timestamp data yang ditulis harus berada dalam offset versi maksimum. Jika tidak, penulisan data gagal.

    • Rentang versi valid untuk data dalam kolom atribut: [max(Waktu data ditulis - Offset versi maksimum, Waktu data ditulis - TTL), Waktu data ditulis + Offset versi maksimum).

    allowUpdate (opsional)

    OptionalValue<Boolean>

    Menentukan apakah pembaruan diizinkan.

    • Jika Anda menetapkan parameter ini ke false, Anda tidak dapat memperbarui data menggunakan metode updateRow().

  • streamSpecification (opsional) StreamSpecification: Informasi konfigurasi Stream. Tabel berikut menggambarkan parameter yang termasuk dalam StreamSpecification.

    Parameter

    Tipe

    Deskripsi

    enableStream (wajib)

    boolean

    Menentukan apakah Stream diaktifkan.

    expirationTime (opsional)

    OptionalValue<Integer>

    Masa berlaku Stream, yang menunjukkan durasi penyimpanan log inkremental. Satuan: jam. Nilai maksimum: 168 (tujuh hari).

    • Jika Anda menetapkan parameter enableStream ke true, Anda harus mengonfigurasi parameter ini.

  • reservedThroughputForUpdate (opsional) ReservedThroughput: Throughput baca/tulis yang dicadangkan. Satuan: unit kapasitas (CUs). Nilai default: 0. Anda dapat mengonfigurasi parameter ini, dan pengaturannya hanya berlaku untuk instance performa tinggi dalam mode CU.

Catatan
  • Saat memanggil metode updateTable(), Anda harus mengonfigurasi setidaknya satu dari parameter berikut: tableOptionsForUpdate, streamSpecification, atau reservedThroughputForUpdate.

  • Saat mengonfigurasi parameter tableOptionsForUpdate, Anda harus mengonfigurasi setidaknya satu dari parameter berikut: timeToLive, maxVersions, maxTimeDeviation, atau allowUpdate.

Contoh kode

Berikut adalah contoh kode yang menunjukkan cara memperbarui konfigurasi tabel test_table:

public static void updateTableExample(SyncClient client) {
    UpdateTableRequest request = new UpdateTableRequest("test_table");
    // Tetapkan throughput baca yang dicadangkan menjadi 0 CU dan throughput tulis yang dicadangkan menjadi 0 CU.
    ReservedThroughput reservedThroughput = new ReservedThroughput(0, 0);
    request.setReservedThroughputForUpdate(reservedThroughput);

    TableOptions tableOptions = new TableOptions();
    // Tentukan jumlah maksimum versi yang dapat disimpan untuk data dalam kolom atribut.
    tableOptions.setMaxVersions(3);
    // Tentukan TTL dalam detik.
    tableOptions.setTimeToLive(86400);
    // Tentukan offset versi maksimum dalam detik.
    tableOptions.setMaxTimeDeviation(86400);
    // Tentukan apakah pembaruan diizinkan.
    tableOptions.setAllowUpdate(false);
    request.setTableOptionsForUpdate(tableOptions);

    // Aktifkan Stream dan tetapkan masa berlaku Stream selama tujuh hari.
    StreamSpecification streamSpecification = new StreamSpecification(true, 168);
    request.setStreamSpecification(streamSpecification);
    
    // Panggil metode updateTable untuk memodifikasi konfigurasi tabel.
    client.updateTable(request);
}

Referensi

Untuk informasi lebih lanjut, lihat Modifikasi Konfigurasi Tabel Deret Waktu.