全部产品
Search
文档中心

Tablestore:Mengambil data dalam indeks Lastpoint

更新时间:Jul 02, 2025

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.