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
Metode
func (tableStoreClient *TableStoreClient) GetRow(request *GetRowRequest) (*GetRowResponse, error)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")