All Products
Search
Document Center

Tablestore:Kueri data deret waktu

Last Updated:May 01, 2026

Kueri data deret waktu yang memenuhi kondisi tertentu dari tabel deret waktu menggunakan Tablestore SDK untuk Java.

Prasyarat

Parameter

Parameter

Wajib

Deskripsi

timeseriesKey

Ya

Pengenal deret waktu yang akan dikueri. Gunakan sub-parameter berikut untuk menentukan pengenal:

  • measurementName: nama metrik dari deret waktu.

  • dataSource: sumber data dari deret waktu. Parameter ini dapat dikosongkan.

  • tags: tag dari deret waktu. Nilainya berupa pasangan kunci-nilai bertipe STRING.

Penting

Jika Anda tidak mengetahui pengenal deret waktu, seperti nama metrik atau sumber data, panggil operasi QueryTimeseriesMeta untuk mengambil deret waktu berdasarkan kondisi filter. Untuk informasi selengkapnya, lihat Ambil deret waktu.

timeRange

Ya

Rentang waktu untuk kueri. Rentang ini merupakan interval tertutup di kiri dan terbuka di kanan. Gunakan sub-parameter berikut:

  • beginTimeInUs: Waktu mulai.

  • endTimeInUs: waktu akhir.

backward

Tidak

Menentukan apakah hasil dikembalikan dalam urutan kronologis terbalik. Gunakan ini untuk mengambil titik data terbaru terlebih dahulu. Nilai yang valid:

  • true: mengembalikan hasil dalam urutan kronologis terbalik.

  • false: mengembalikan hasil dalam urutan kronologis. Ini adalah nilai default.

fieldsToGet

Tidak

Kolom data yang akan dikembalikan. Jika tidak ditentukan, semua kolom akan dikembalikan.

Penting

Saat menentukan fieldsToGet, Anda harus menyediakan nama dan tipe data setiap kolom. Jika tipe data tidak sesuai dengan nama kolom, kolom tersebut tidak akan dikembalikan.

limit

Tidak

Jumlah maksimum baris yang dikembalikan per pemanggilan.

Catatan

Jika set hasil melebihi batas limit, atau jika jumlah baris yang dikembalikan lebih sedikit karena batasan volume data yang dipindai, gunakan parameter nextToken untuk mengambil sisa baris.

nextToken

Tidak

Token paginasi untuk mengambil hasil tambahan. Jika kueri hanya mengembalikan sebagian set hasil, tanggapan akan menyertakan nextToken. Teruskan token ini dalam permintaan berikutnya untuk mendapatkan sisa baris.

Penting

Untuk menyimpan atau mentransfer nextToken ke halaman antarmuka depan, encode menggunakan Base64. Jangan gunakan string(nextToken) untuk mengonversi token — hal ini menyebabkan kehilangan data token.

Contoh

Contoh berikut mengkueri data dalam deret waktu dengan menentukan timeseriesKey:

func GetTimeseriesDataSample(client *tablestore.TimeseriesClient , timeseriesTableName string) {
    fmt.Println("[Info]: Begin to get timeseries data !")

    // Buat timeseriesKey untuk deret waktu tempat Anda ingin mengkueri data. 
    timeseriesKey := tablestore.NewTimeseriesKey()
    timeseriesKey.SetMeasurementName("NETWORK")
    timeseriesKey.SetDataSource("127.0.0.1")
    timeseriesKey.AddTag("City" , "Hangzhou")
    timeseriesKey.AddTag("Region" , "Xihu")

    // Buat permintaan kueri. 
    getTimeseriesDataRequest := tablestore.NewGetTimeseriesDataRequest(timeseriesTableName)
    getTimeseriesDataRequest.SetTimeseriesKey(timeseriesKey)
    getTimeseriesDataRequest.SetTimeRange(0 , time.Now().UnixNano() / 1000) // Tentukan rentang waktu untuk kueri. 
    getTimeseriesDataRequest.SetLimit(-1)

    // Panggil operasi API terkait client deret waktu untuk mengkueri data dalam deret waktu. 
    getTimeseriesResp , err := client.GetTimeseriesData(getTimeseriesDataRequest)
    if err != nil {
        fmt.Println("[Error]: Get timeseries data Failed with error: " , err)
        return
    }
    fmt.Println("[Info]: Get timeseries data succeed ! TimeseriesRows: ")
    for i := 0; i < len(getTimeseriesResp.GetRows()); i++ {
        fmt.Println("[Info]: Row" , i , ": [" , getTimeseriesResp.GetRows()[i].GetTimeseriesKey().GetMeasurementName(),
            getTimeseriesResp.GetRows()[i].GetTimeseriesKey().GetDataSource(),
            getTimeseriesResp.GetRows()[i].GetTimeseriesKey().GetTags(), "]",
            getTimeseriesResp.GetRows()[i].GetTimeInus())
        rows := getTimeseriesResp.GetRows()[i].GetFieldsMap()
        for key, value := range rows {
            fmt.Println(key, value.Value)
        }
    }
    fmt.Println("[Info]: GetTimeseriesDataSample finished! RequestId: " , getTimeseriesResp.RequestId)
}

FAQ

Referensi