全部产品
Search
文档中心

Tablestore:Memperbarui konfigurasi tabel

更新时间:Jul 24, 2025

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

Prasyarat

Inisialisasi Klien Tablestore

Deskripsi metode

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

Parameter UpdateTableRequest

  • NamaTabel (wajib) string: Nama tabel data.

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

    Parameter

    Tipe

    Deskripsi

    WaktuHidupData (wajib)

    int

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

    • Jika Anda mengatur nilainya menjadi -1, data tidak akan pernah kedaluwarsa. Nilai minimum adalah 86400 (1 hari). Data yang melebihi TTL akan secara otomatis dihapus.

    • Untuk menggunakan fitur indeks pencarian atau indeks sekunder, atur TTL ke -1 atau setel parameter AllowUpdate ke false.

    VersiMaksimum (wajib)

    int

    Jumlah maksimum versi.

    • Untuk menggunakan fitur indeks pencarian atau indeks sekunder, atur jumlah maksimum versi menjadi 1.

    DeviationCellVersionInSec (opsional)

    int64

    Offset versi maksimum. Satuan: detik.

    • Selisih antara cap waktu 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).

    IzinkanPembaruan (opsional)

    *bool

    Menentukan apakah pembaruan diperbolehkan.

    • Jika Anda mengatur nilainya menjadi false, Anda tidak dapat memperbarui data menggunakan metode UpdateRow().

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

    Parameter

    Tipe

    Deskripsi

    EnableStream (opsional)

    bool

    Menentukan apakah akan mengaktifkan Stream. Nilai default: false.

    WaktuKedaluwarsa (opsional)

    int32

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

    • Jika AktifkanStream disetel ke true, Anda harus menetapkan WaktuKedaluwarsa.

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

Catatan
  • Saat memanggil metode UpdateTable(), tetapkan setidaknya salah satu dari parameter OpsiTabel, SpesifikasiStream, atau ThroughputTercadang.

  • Saat menetapkan OpsiTabel, tetapkan parameter WaktuHidupData dan VersiMaksimum.

Kode contoh

Berikut adalah contoh kode untuk memodifikasi konfigurasi tabel test_table.

func UpdateTableSample(client *tablestore.TableStoreClient) {
    updateTableReq := new(tablestore.UpdateTableRequest)
    updateTableReq.TableName = "test_table"
    
    // Informasi konfigurasi tabel
    updateTableReq.TableOption = new(tablestore.TableOption)
    // Tetapkan TTL dalam detik
    updateTableReq.TableOption.TimeToAlive = 86400
    // Tetapkan jumlah maksimum versi
    updateTableReq.TableOption.MaxVersion = 3
    // Tetapkan offset versi maksimum dalam detik
    updateTableReq.TableOption.DeviationCellVersionInSec = 86400
    // Tetapkan apakah pembaruan diperbolehkan
    updateTableReq.TableOption.AllowUpdate = proto.Bool(false)

    // Aktifkan Stream dan tetapkan waktu kedaluwarsa Stream menjadi 7 hari
    updateTableReq.StreamSpec = new(tablestore.StreamSpecification)
    updateTableReq.StreamSpec.EnableStream = true
    updateTableReq.StreamSpec.ExpirationTime = 168
    
    // Tetapkan throughput baca tercadang menjadi 0 CU dan throughput tulis tercadang menjadi 0 CU (hanya instans kinerja tinggi dalam Mode CU yang mendukung pengaturan nilai bukan nol untuk throughput baca dan tulis tercadang)
    updateTableReq.ReservedThroughput = new(tablestore.ReservedThroughput)
    updateTableReq.ReservedThroughput.Readcap = 0
    updateTableReq.ReservedThroughput.Writecap = 0

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

Referensi

Perbarui Tabel Deret Waktu