Gunakan Tablestore SDK for Java untuk memperbarui siklus hidup data, jumlah maksimum versi, offset versi maksimum, izin pembaruan, Stream, dan pengaturan throughput baca/tulis yang dicadangkan pada tabel model Kolom Lebar.
Prasyarat
Instal Tablestore SDK for Java dan inisialisasi klien.
Deskripsi fungsi
Panggil updateTable untuk memperbarui opsi tabel, pengaturan Stream, atau throughput baca/tulis yang dicadangkan dari suatu tabel. Setiap permintaan harus menentukan setidaknya satu grup konfigurasi. Jika Anda memperbarui TableOptions, tentukan setidaknya satu opsi tabel.
public UpdateTableResponse updateTable(UpdateTableRequest request) throws TableStoreException, ClientException
Kode contoh berikut memperbarui siklus hidup data, jumlah maksimum versi, offset versi maksimum, dan izin pembaruan pada tabel example_table.
UpdateTableRequest request = new UpdateTableRequest("example_table");
TableOptions tableOptions = new TableOptions();
tableOptions.setTimeToLive(86400);
tableOptions.setMaxVersions(3);
tableOptions.setMaxTimeDeviation(86400L);
tableOptions.setAllowUpdate(false);
request.setTableOptionsForUpdate(tableOptions);
client.updateTable(request);
Parameter
UpdateTableRequest berisi parameter berikut.
|
Name |
Type |
Description |
|
tableName (required) |
|
Nama tabel. |
|
tableOptionsForUpdate (optional) |
|
Konfigurasi tabel yang akan diperbarui. Tentukan setidaknya satu konfigurasi tabel. |
|
streamSpecification (optional) |
|
Konfigurasi Stream. |
|
reservedThroughputForUpdate (optional) |
|
Konfigurasi reserved read/write throughput. Anda hanya dapat menentukan nilai bukan nol untuk instans komputasi-teroptimalkan dalam Mode CU. |
Anda harus menentukan setidaknya salah satu dari tableOptionsForUpdate, streamSpecification, dan reservedThroughputForUpdate.
Konfigurasi tabel
tableOptionsForUpdate bertipe TableOptions dan berisi parameter berikut.
|
Name |
Type |
Description |
|
timeToLive (optional) |
|
Masa hidup data (TTL). Satuan: detik. Nilai |
|
maxVersions (optional) |
|
Jumlah maksimum versi yang disimpan untuk setiap kolom atribut. Untuk menggunakan indeks pencarian atau indeks sekunder, atur parameter ini ke |
|
maxTimeDeviation (optional) |
|
Offset versi maksimum. Satuan: detik. Selisih antara stempel waktu data dan waktu sistem saat ini harus berada dalam batas offset versi maksimum. Rentang versi yang valid untuk data kolom atribut adalah |
|
allowUpdate (optional) |
|
Menentukan apakah data dapat diperbarui dengan memanggil |
Anda hanya dapat mengatur updateFullRow saat membuat tabel. Anda tidak dapat mengubahnya dengan memanggil updateTable.
Konfigurasi Stream
streamSpecification bertipe StreamSpecification dan berisi parameter berikut.
|
Name |
Type |
Description |
|
enableStream (required) |
|
Menentukan apakah Stream diaktifkan. |
|
expirationTime (optional) |
|
Periode retensi log inkremental. Satuan: jam. Nilai maksimum: |
Throughput baca/tulis yang dicadangkan
reservedThroughputForUpdate bertipe ReservedThroughput dan berisi parameter berikut.
|
Name |
Type |
Description |
|
capacityUnit (required) |
|
Konfigurasi throughput baca/tulis yang dicadangkan. |
Unit kapasitas
reservedThroughputForUpdate.capacityUnit bertipe CapacityUnit dan berisi parameter berikut.
|
Name |
Type |
Description |
|
readCapacityUnit (required) |
|
Throughput baca yang dicadangkan. Satuan: CU. |
|
writeCapacityUnit (required) |
|
Throughput tulis yang dicadangkan. Satuan: CU. |
Contoh skenario
Perbarui pengaturan Stream
Kode contoh berikut mengaktifkan Stream untuk tabel example_table dan mengatur periode retensi log inkremental menjadi 168 jam.
UpdateTableRequest request = new UpdateTableRequest("example_table");
request.setStreamSpecification(new StreamSpecification(true, 168));
client.updateTable(request);
Perbarui throughput yang dicadangkan
Throughput baca/tulis yang dicadangkan hanya didukung untuk instans komputasi-teroptimalkan dalam Mode CU. Kode contoh berikut mengatur throughput baca dan tulis yang dicadangkan pada tabel example_table masing-masing menjadi 0 CU.
UpdateTableRequest request = new UpdateTableRequest("example_table");
ReservedThroughput reservedThroughput = new ReservedThroughput(0, 0);
request.setReservedThroughputForUpdate(reservedThroughput);
client.updateTable(request);