Topik ini menjelaskan cara mengambil data dalam indeks Lastpoint menggunakan Tablestore SDK for Go.
Catatan penggunaan
Fitur indeks Lastpoint didukung oleh Tablestore SDK for Go V1.7.15 atau yang lebih baru. Untuk menggunakan fitur ini, Anda harus meningkatkan Tablestore SDK for Go ke versi V1.7.15 atau yang lebih baru.
Prasyarat
Indeks Lastpoint telah dibuat untuk tabel deret waktu. Untuk informasi lebih lanjut, lihat Buat Indeks Lastpoint.
Contoh kode
Berikut adalah contoh kode yang menunjukkan cara memanggil operasi GetRange untuk membaca semua data dari indeks Lastpoint:
func GetRange(client *tablestore.TableStoreClient, lastpointName string) {
getRangeRequest := &tablestore.GetRangeRequest{}
rangeRowQueryCriteria := &tablestore.RangeRowQueryCriteria{}
rangeRowQueryCriteria.TableName = lastpointName
startPK := new(tablestore.PrimaryKey)
startPK.AddPrimaryKeyColumnWithMinValue("_#h")
startPK.AddPrimaryKeyColumnWithMinValue("_m_name")
startPK.AddPrimaryKeyColumnWithMinValue("_data_source")
startPK.AddPrimaryKeyColumnWithMinValue("_tags")
endPK := new(tablestore.PrimaryKey)
endPK.AddPrimaryKeyColumnWithMaxValue("_#h")
endPK.AddPrimaryKeyColumnWithMaxValue("_m_name")
endPK.AddPrimaryKeyColumnWithMaxValue("_data_source")
endPK.AddPrimaryKeyColumnWithMaxValue("_tags")
rangeRowQueryCriteria.StartPrimaryKey = startPK
rangeRowQueryCriteria.EndPrimaryKey = endPK
rangeRowQueryCriteria.Direction = tablestore.FORWARD
//Tetapkan jumlah maksimum versi menjadi 1. Tabel deret waktu tidak mendukung fitur jumlah versi maksimum.
rangeRowQueryCriteria.MaxVersion = 1
getRangeRequest.RangeRowQueryCriteria = rangeRowQueryCriteria
getRangeResp, err := client.GetRange(getRangeRequest)
fmt.Println("hasil rentang adalah ", getRangeResp)
for {
if err != nil {
fmt.Println("gagal mendapatkan rentang dengan kesalahan:", err)
}
for _, row := range getRangeResp.Rows {
fmt.Println("rentang dapatkan baris dengan kunci", row.PrimaryKey.PrimaryKeys[0].Value, row.PrimaryKey.PrimaryKeys[1].Value, row.PrimaryKey.PrimaryKeys[2].Value)
}
if getRangeResp.NextStartPrimaryKey == nil {
break
} else {
fmt.Println("pk berikutnya adalah :", getRangeResp.NextStartPrimaryKey.PrimaryKeys[0].Value, getRangeResp.NextStartPrimaryKey.PrimaryKeys[1].Value, getRangeResp.NextStartPrimaryKey.PrimaryKeys[2].Value)
getRangeRequest.RangeRowQueryCriteria.StartPrimaryKey = getRangeResp.NextStartPrimaryKey
getRangeResp, err = client.GetRange(getRangeRequest)
}
fmt.Println("lanjutkan untuk menanyakan baris")
}
fmt.Println("rentang dapatkan baris selesai")
}Referensi
Untuk informasi tentang cara membaca data menggunakan Tablestore SDK for Go, lihat Baca Data.
Jika Anda ingin mengambil data dalam indeks Lastpoint menggunakan berbagai metode query secara dipercepat, seperti query Boolean, pencarian teks lengkap, query awalan, dan query fuzzy, Anda dapat membuat indeks pencarian untuk indeks Lastpoint dan menggunakan indeks pencarian tersebut untuk mengambil data. Untuk informasi lebih lanjut, lihat Ambil Indeks Lastpoint.