All Products
Search
Document Center

Tablestore:Menulis satu baris

Last Updated:Apr 01, 2026

Topik ini menjelaskan cara menggunakan Go SDK untuk menulis satu baris ke tabel di Tablestore.

Prasyarat

Inisialisasi client Tablestore

Metode

func (tableStoreClient *TableStoreClient) PutRow(request *PutRowRequest) (*PutRowResponse, error)

Parameter PutRowRequest

  • PutRowChange (Wajib)*PutRowChange: Baris yang akan ditulis. Parameter ini mencakup subparameter berikut.

    Parameter

    Tipe

    Deskripsi

    TableName (Wajib)

    string

    Nama tabel.

    PrimaryKey (Wajib)

    *PrimaryKey

    Kunci primer baris, yang mencakup nama dan nilai kolom kunci primer.

    • Tipe data kolom kunci primer dapat berupa STRING, INTEGER, atau BINARY.

    • Jumlah dan tipe data kolom kunci primer harus sesuai dengan skema tabel.

    • Jika kolom kunci primer merupakan kolom auto-increment, atur nilainya ke placeholder. Untuk informasi selengkapnya, lihat Auto-increment primary key.

    Columns (Opsional)

    []AttributeColumn

    Kolom atribut, termasuk nama, nilai, dan timestamp-nya.

    • Tipe data kolom atribut dapat berupa STRING, INTEGER, BINARY, DOUBLE, atau BOOLEAN.

    • Sistem secara otomatis menghasilkan timestamp untuk versi data. Anda juga dapat menentukan timestamp kustom. Untuk informasi selengkapnya, lihat Data versions and time to live.

    Condition (Wajib)

    *RowCondition

    Kondisi untuk operasi penulisan. Untuk informasi selengkapnya, lihat conditional update.

    ReturnType (Opsional)

    ReturnType

    Tipe pengembalian.

    • ReturnType_RT_NONE (Default): Tidak mengembalikan data apa pun.

    • ReturnType_RT_PK: Mengembalikan kolom kunci primer. Opsi ini berguna ketika tabel memiliki kolom kunci primer auto-increment.

    • ReturnType_RT_AFTER_MODIFY: Mengembalikan nilai kolom yang diperbarui. Opsi ini digunakan untuk operasi atomic counter.

    TransactionId (Opsional)

    *string

    ID transaksi lokal. Untuk informasi selengkapnya, lihat local transaction.

Kode contoh

Kode contoh berikut menunjukkan cara menulis baris dengan nilai kunci primer 'row1' ke tabel 'test_table'.

func PutRowSample(client *tablestore.TableStoreClient) {
    // Membuat kunci primer.
    putPk := new(tablestore.PrimaryKey)
    putPk.AddPrimaryKeyColumn("id", "row1")

    // Membuat baris yang akan ditulis.
    putRowChange := new(tablestore.PutRowChange)
    putRowChange.TableName = "test_table"
    putRowChange.PrimaryKey = putPk
    // Anda harus menentukan kondisi untuk operasi penulisan. RowExistenceExpectation_IGNORE melewati pemeriksaan keberadaan baris.
    putRowChange.SetCondition(tablestore.RowExistenceExpectation_IGNORE)

    // Memanggil metode PutRow untuk menulis baris.
    putRowRequest := new(tablestore.PutRowRequest)
    putRowRequest.PutRowChange = putRowChange
    response, err := client.PutRow(putRowRequest)
    if err != nil {
        fmt.Println("Put row failed with error: ", err)
    } else {
        fmt.Printf("* RequestId: %s \n", response.RequestId)
        fmt.Printf("* Read CU Cost: %d \n", response.ConsumedCapacityUnit.Read)
        fmt.Printf("* Write CU Cost: %d \n", response.ConsumedCapacityUnit.Write)
    }
}
  • Menambahkan kolom atribut.

    putRowChange.AddColumn("col1", "val1")
  • Menentukan timestamp. Anda dapat menetapkan timestamp terpisah untuk setiap kolom atribut.

    putRowChange.AddColumnWithTimestamp("col1", "val1", int64(time.Now().Unix() * 1000))
    putRowChange.AddColumnWithTimestamp("col2", int64(3), int64(1758249013000))

Topik terkait

Batch update data