All Products
Search
Document Center

Tablestore:Membaca satu baris

Last Updated:Apr 01, 2026

Topik ini menjelaskan cara menggunakan Go SDK untuk membaca satu baris dari tabel Tablestore.

Penting

Saat membaca data, Anda harus menyediakan kunci primer lengkap, termasuk nilai untuk setiap kolom kunci utama auto-increment.

Prasyarat

Inisialisasi client Tablestore

Metode

func (tableStoreClient *TableStoreClient) GetRow(request *GetRowRequest) (*GetRowResponse, error)

Parameter GetRowRequest

  • SingleRowQueryCriteria (Wajib)*SingleRowQueryCriteria: Kriteria untuk membaca satu baris. Parameter ini mencakup subparameter berikut.

    Parameter

    Tipe

    Deskripsi

    TableName (Wajib)

    string

    Nama tabel.

    PrimaryKey (Wajib)

    *PrimaryKey

    Kunci primer dari baris yang akan dibaca. Harus mencakup nama dan nilai untuk setiap kolom kunci primer.

    • Tipe data yang didukung untuk kolom kunci primer adalah STRING, INTEGER, dan BINARY.

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

    MaxVersion (Opsional)

    int32

    Jumlah maksimum versi yang akan dikembalikan.

    • Anda harus menentukan salah satu parameter ini atau TimeRange.

    • Jika jumlah versi yang sesuai melebihi batas ini, layanan akan mengembalikan versi terbaru hingga batas yang ditentukan, diurutkan berdasarkan timestamp secara descending.

    TimeRange (Opsional)

    *TimeRange

    Rentang waktu versi yang akan dibaca.

    • Anda harus menentukan salah satu parameter ini atau MaxVersion.

    • Setiap kolom atribut dalam tabel Tablestore dapat memiliki beberapa versi. Jika Anda menentukan rentang waktu, hanya versi yang dibuat dalam rentang tersebut yang dikembalikan.

    ColumnsToGet (Opsional)

    []string

    Nama kolom yang akan dibaca. Anda dapat menentukan kolom kunci primer maupun kolom atribut.

    • Jika Anda menghilangkan parameter ini, layanan akan mengembalikan seluruh baris.

    • Jika baris ada tetapi tidak berisi kolom yang ditentukan, respons akan mencakup kunci primer tetapi tanpa kolom atribut.

    Filter (Opsional)

    ColumnFilter

    Kondisi filter. Untuk informasi lebih lanjut, lihat Filter.

    • Jika Anda menentukan ColumnsToGet dan Filter, Filter diterapkan terlebih dahulu pada baris tersebut. Jika baris lolos filter, respons hanya mencakup kolom yang ditentukan dalam ColumnsToGet.

    TransactionId (Opsional)

    *string

    ID transaksi lokal. Untuk informasi lebih lanjut, lihat Transaksi lokal.

Kode contoh

Contoh berikut menunjukkan cara membaca satu baris dengan nilai kunci primer "row1".

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

    // Menentukan kriteria kueri.
    criteria := new(tablestore.SingleRowQueryCriteria)
    criteria.TableName = "test_table"
    criteria.PrimaryKey = getPk
    criteria.MaxVersion = 1

    // Memanggil metode GetRow untuk membaca baris.
    getRowRequest := new(tablestore.GetRowRequest)
    getRowRequest.SingleRowQueryCriteria = criteria
    response, err := client.GetRow(getRowRequest)
    if err != nil {
        fmt.Println("Gagal membaca baris dengan error: ", err)
    } else {
        fmt.Printf("RequestId: %s \n", response.RequestId)
        fmt.Printf("Biaya CU Baca: %d \n", response.ConsumedCapacityUnit.Read)
        fmt.Printf("Biaya CU Tulis: %d \n", response.ConsumedCapacityUnit.Write)
        fmt.Printf("Data Baris: %v ", response.PrimaryKey)
        for _, Column := range response.Columns {
            fmt.Printf("%v ", Column)
        }
    }
}
  • Untuk membaca data dari rentang versi tertentu, atur parameter TimeRange. Hanya versi dalam rentang tersebut yang akan dikembalikan.

    // Mengatur rentang waktu ke 24 jam terakhir.
    timeRange := new(tablestore.TimeRange)
    timeRange.Start = int64(time.Now().Unix() * 1000 - 86400 * 1000)
    timeRange.End = int64(time.Now().Unix() * 1000) 
    criteria.TimeRange = timeRange;
  • Membaca kolom atribut tertentu.

    criteria.AddColumnToGet("col2")

Topik terkait