All Products
Search
Document Center

Tablestore:Perbarui konfigurasi tabel

Last Updated:Aug 12, 2026

Gunakan Tablestore SDK for Go untuk memperbarui TTL, jumlah maksimum versi, offset versi maksimum, izin pembaruan, pengaturan Stream, dan throughput yang dicadangkan suatu tabel.

Prasyarat

Instal Tablestore SDK for Go dan inisialisasi klien.

Deskripsi

Panggil UpdateTable untuk memperbarui properti tabel, pengaturan Stream, atau throughput yang dicadangkan suatu tabel. Setiap permintaan harus menentukan setidaknya satu jenis konfigurasi.

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

Contoh berikut memperbarui TTL, jumlah maksimum versi, offset versi maksimum, dan izin pembaruan tabel example_table.

request := &tablestore.UpdateTableRequest{
    TableName: "example_table",
    TableOption: &tablestore.TableOption{
        TimeToAlive:               86400,
        MaxVersion:                3,
        DeviationCellVersionInSec: 86400,
        AllowUpdate:               proto.Bool(false),
    },
}

_, err := client.UpdateTable(request)
if err != nil {
    log.Fatal(err)
}

Parameter

UpdateTableRequest berisi parameter berikut.

Name

Type

Description

TableName (required)

string

Nama tabel.

TableOption (optional)

*TableOption

Properti tabel yang akan diperbarui.

StreamSpec (optional)

*StreamSpecification

Pengaturan Stream.

ReservedThroughput (optional)

*ReservedThroughput

reserved read/write throughput. Nilai bukan nol hanya berlaku untuk instans kinerja tinggi dalam Mode CU.

Setidaknya salah satu dari TableOption, StreamSpec, dan ReservedThroughput wajib ditentukan.

Opsi tabel

TableOption berisi parameter berikut.

Name

Type

Description

TimeToAlive (optional)

int

Time to live (TTL), dalam satuan detik. Nilai -1 menunjukkan bahwa data tidak pernah kedaluwarsa. Untuk nilai lainnya, minimum adalah 86400 (satu hari). Data yang kedaluwarsa akan dihapus secara otomatis. Untuk menggunakan indeks pencarian atau indeks sekunder, atur parameter ini ke -1 atau atur AllowUpdate ke false.

MaxVersion (optional)

int

Jumlah maksimum versi yang disimpan untuk setiap kolom atribut. Untuk menggunakan indeks pencarian atau indeks sekunder, atur parameter ini ke 1.

DeviationCellVersionInSec (optional)

int64

Offset versi maksimum, dalam satuan detik. Selisih antara timestamp data yang ditulis dan waktu sistem saat ini harus berada dalam rentang ini. Versi yang valid berada dalam rentang [max(waktu tulis - offset versi maksimum, waktu tulis - TTL), waktu tulis + offset versi maksimum).

AllowUpdate (optional)

*bool

Menentukan apakah data dapat diperbarui dengan memanggil UpdateRow. Jika parameter ini diatur ke false, data tidak dapat diperbarui.

Penting

UpdateFullRow hanya dapat dikonfigurasi saat tabel dibuat. Parameter ini tidak dapat diubah dengan memanggil UpdateTable.

Pengaturan Stream

StreamSpec bertipe StreamSpecification dan berisi parameter berikut.

Name

Type

Description

EnableStream (required)

bool

Menentukan apakah Stream diaktifkan.

ExpirationTime (optional)

int32

Periode retensi log inkremental, dalam satuan jam. Nilai maksimum: 168 (tujuh hari). Parameter ini wajib ditentukan ketika EnableStream diatur ke true.

Penting

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

Throughput yang dicadangkan

ReservedThroughput berisi parameter berikut.

Name

Type

Description

Readcap (optional)

int

Throughput baca yang dicadangkan, dalam satuan CU. Nilai default: 0.

Writecap (optional)

int

Throughput tulis yang dicadangkan, dalam satuan CU. Nilai default: 0.

Contoh

Perbarui pengaturan Stream

Contoh berikut mengaktifkan Stream untuk tabel example_table dan mengatur periode retensi log inkremental menjadi 168 jam.

request := &tablestore.UpdateTableRequest{
    TableName: "example_table",
    StreamSpec: &tablestore.StreamSpecification{
        EnableStream:   true,
        ExpirationTime: 168,
    },
}

_, err := client.UpdateTable(request)
if err != nil {
    log.Fatal(err)
}