Topik ini menjelaskan cara memperbarui konfigurasi tabel menggunakan Tablestore SDK untuk Java.
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. |
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. |
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). |
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);
}