All Products
Search
Document Center

Tablestore:Perbarui konfigurasi tabel

Last Updated:Apr 02, 2026

Perbarui konfigurasi tabel—seperti TTL, jumlah versi maksimum, pengaturan stream, dan throughput yang dicadangkan—menggunakan Tablestore SDK untuk Go.

Prasyarat

Inisialisasi Tablestore Client

Deskripsi metode

func (tableStoreClient *TableStoreClient) UpdateTable(request *UpdateTableRequest) (*UpdateTableResponse, error)

Parameter UpdateTableRequest

  • TableName (wajib) string: Nama tabel data.

  • TableOption (opsional) *TableOption: Informasi konfigurasi tabel, yang mencakup parameter berikut.

    Parameter

    Tipe

    Deskripsi

    TimeToAlive (wajib)

    int

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

    • Nilai -1 berarti data tidak pernah kedaluwarsa. Selain itu, nilai minimum adalah 86400 (1 hari). Data yang melebihi TTL akan secara otomatis dipurge.

    • Untuk menggunakan fitur search index atau secondary index, atur TTL ke -1 atau atur parameter AllowUpdate ke false.

    MaxVersion (wajib)

    int

    Jumlah versi maksimum.

    • Untuk menggunakan fitur search index atau secondary index, atur jumlah versi maksimum ke 1.

    DeviationCellVersionInSec (opsional)

    int64

    Offset versi maksimum. Satuan: detik.

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

    • Rentang versi valid untuk data kolom atribut adalah [max(waktu tulis data - offset versi valid, waktu tulis data - TTL), waktu tulis data + offset versi valid).

    AllowUpdate (opsional)

    *bool

    Menentukan apakah pembaruan data diizinkan.

    • Jika diatur ke false, data tidak dapat diperbarui melalui metode UpdateRow().

  • StreamSpec (opsional) *StreamSpecification: Informasi konfigurasi Stream, yang mencakup parameter berikut.

    Parameter

    Tipe

    Deskripsi

    EnableStream (wajib)

    bool

    Menentukan apakah Stream diaktifkan. Nilai default: false.

    Penting

    Jika EnableStream diatur ke true, Anda juga harus mengatur ExpirationTime.

    ExpirationTime (opsional)

    int32

    Waktu kedaluwarsa Stream, yang menunjukkan durasi kedaluwarsa log inkremental. Satuan: jam. Nilai maksimum: 168 (7 hari).

    Penting

    Saat memodifikasi parameter ExpirationTime, Anda juga harus mengatur EnableStream ke true. Jika tidak, saluran data yang ada menjadi tidak tersedia dan memengaruhi sinkronisasi data untuk search index tabel tersebut.

  • ReservedThroughput (opsional) *ReservedThroughput: Throughput baca dan tulis yang dicadangkan, dalam CU. Nilai default: 0. Hanya instans kinerja tinggi dalam Mode CU yang dapat diatur ke nilai selain nol.

Catatan
  • Saat memanggil metode UpdateTable(), atur minimal salah satu dari parameter TableOption, StreamSpec, atau ReservedThroughput.

  • Saat mengatur TableOption, tetapkan parameter TimeToAlive dan MaxVersion.

Kode contoh

Kode contoh berikut memodifikasi konfigurasi tabel test_table.

func UpdateTableSample(client *tablestore.TableStoreClient) {
    updateTableReq := new(tablestore.UpdateTableRequest)
    updateTableReq.TableName = "test_table"
    
    // Konfigurasi tabel.
    updateTableReq.TableOption = new(tablestore.TableOption)
    // Atur masa hidup data (TTL), dalam detik.
    updateTableReq.TableOption.TimeToAlive = 86400
    // Atur jumlah versi maksimum.
    updateTableReq.TableOption.MaxVersion = 3
    // Atur offset versi maksimum, dalam detik.
    updateTableReq.TableOption.DeviationCellVersionInSec = 86400
    // Tentukan apakah pembaruan data diizinkan.
    updateTableReq.TableOption.AllowUpdate = proto.Bool(false)

    // Aktifkan Stream dan atur waktu kedaluwarsa Stream menjadi 7 hari.
    // Saat memodifikasi parameter ExpirationTime, Anda juga harus mengatur EnableStream ke true.
    updateTableReq.StreamSpec = new(tablestore.StreamSpecification)
    updateTableReq.StreamSpec.EnableStream = true
    updateTableReq.StreamSpec.ExpirationTime = 168
    
    // Atur throughput baca yang dicadangkan ke 0 CU dan throughput tulis yang dicadangkan ke 0 CU. 
    // Throughput selain nol hanya berlaku untuk instans kinerja tinggi dalam Mode CU.
    updateTableReq.ReservedThroughput = new(tablestore.ReservedThroughput)
    updateTableReq.ReservedThroughput.Readcap = 0
    updateTableReq.ReservedThroughput.Writecap = 0

    // Panggil metode UpdateTable untuk memperbarui konfigurasi tabel.
    _, err := client.UpdateTable(updateTableReq)
    if (err != nil) {
        fmt.Println("Gagal memperbarui tabel dengan error:", err)
    } else {
        fmt.Println("Pembaruan tabel selesai.")
    }
}

Referensi

Perbarui tabel deret waktu