Jika Anda tidak yakin dengan informasi deret waktu yang akan dikueri—seperti nama metrik, sumber data, atau tag—atau jika perlu menampilkan daftar deret waktu berdasarkan kondisi tertentu, Anda dapat menggunakan operasi QueryTimeseriesMeta untuk mengambil deret waktu dengan menentukan kondisi seperti nama metrik, sumber data, tag, atribut, dan waktu pembaruan.
Prasyarat
-
Data deret waktu telah ditulis ke tabel deret waktu. Untuk informasi selengkapnya, lihat Tulis data deret waktu.
-
Instans TimeseriesClient telah diinisialisasi. Untuk informasi selengkapnya, lihat Inisialisasi client Tablestore.
Parameter
Parameter metaQueryCondition menentukan kondisi untuk pengambilan deret waktu. Kondisi tersebut mencakup compositeMetaQueryCondition, measurementMetaQueryCondition, dataSourceMetaQueryCondition, tagMetaQueryCondition, attributeMetaQueryCondition, dan updateTimeMetaQueryCondition. Tabel berikut menjelaskan parameter-parameter tersebut.
|
Parameter |
Wajib |
Deskripsi |
|
compositeMetaQueryCondition |
Tidak |
Kondisi komposit, yang mencakup konten berikut:
|
|
measurementMetaQueryCondition |
Ya. Anda harus menentukan salah satu parameter ini. |
Kondisi nama metrik, yang mencakup konten berikut:
|
|
dataSourceMetaQueryCondition |
Kondisi sumber data, yang mencakup konten berikut:
|
|
|
tagMetaQueryCondition |
Kondisi tag, yang mencakup konten berikut:
|
|
|
attributeMetaQueryCondition |
Kondisi atribut untuk metadata deret waktu. Kondisi atribut mencakup konten berikut:
|
|
|
updateTimeMetaQueryCondition |
Kondisi waktu pembaruan untuk metadata deret waktu. Kondisi waktu pembaruan mencakup konten berikut:
|
Contoh
Kode contoh berikut mengilustrasikan cara mengkueri nama metrik, sumber data, dan tag dari deret waktu berdasarkan kondisi yang ditentukan. Kondisi tersebut dapat berupa kondisi komposit.
func QueryTimeseriesMetaSample(client *tablestore.TimeseriesClient , timeseriesTableName string) {
fmt.Println("[Info]: Begin to query timeseries table meta!")
// Buat beberapa kondisi kueri.
measurementMetaQueryCondition := tablestore.NewMeasurementQueryCondition(tablestore.OP_GREATER_EQUAL , "")
datasourceMetaQueryCondition := tablestore.NewDataSourceMetaQueryCondition(tablestore.OP_GREATER_EQUAL , "")
tagMetaQueryCondition := tablestore.NewTagMetaQueryCondition(tablestore.OP_GREATER_THAN , "City" , "")
// Buat kondisi komposit.
compsiteMetaQueryCondition := tablestore.NewCompositeMetaQueryCondition(tablestore.OP_AND)
compsiteMetaQueryCondition.AddSubConditions(measurementMetaQueryCondition)
compsiteMetaQueryCondition.AddSubConditions(datasourceMetaQueryCondition)
compsiteMetaQueryCondition.AddSubConditions(tagMetaQueryCondition)
// Buat permintaan kueri.
queryTimeseriesMetaRequest := tablestore.NewQueryTimeseriesMetaRequest(timeseriesTableName)
queryTimeseriesMetaRequest.SetCondition(compsiteMetaQueryCondition)
queryTimeseriesMetaRequest.SetLimit(-1)
// Panggil operasi terkait client deret waktu untuk menjalankan permintaan kueri.
queryTimeseriesTableResponse , err := client.QueryTimeseriesMeta(queryTimeseriesMetaRequest)
if err != nil {
fmt.Println("[Error]: Query timeseries table meta failed with error: " , err)
return
}
fmt.Println("[Info]: Query timeseries table meta succeed: ")
for i := 0; i < len(queryTimeseriesTableResponse.GetTimeseriesMetas()); i++ {
curTimeseriesMeta := queryTimeseriesTableResponse.GetTimeseriesMetas()[i]
fmt.Println("[Info]: Meta_" , i , ": " , "Measurement: " , curTimeseriesMeta.GetTimeseriesKey().GetMeasurementName() ,
"Source: " , curTimeseriesMeta.GetTimeseriesKey().GetDataSource() ,
"Tags: " , curTimeseriesMeta.GetTimeseriesKey().GetTags(),
"Attrs: " , curTimeseriesMeta.GetAttributeSlice())
}
fmt.Println("[Info]: QueryTimeseriesMetaSample finished !")
}
FAQ
Referensi
-
Untuk informasi selengkapnya tentang operasi API, lihat QueryTimeseriesMeta.
-
Jika atribut dalam metadata deret waktu tidak memenuhi kebutuhan bisnis Anda, Anda dapat memperbarui atau menghapus metadata deret waktu tersebut. Untuk informasi selengkapnya, lihat Perbarui metadata deret waktu dan Hapus metadata deret waktu.
-
Setelah Anda mengambil deret waktu yang diperlukan, Anda dapat mengkueri data deret waktu berdasarkan deret waktu tersebut. Untuk informasi selengkapnya, lihat Kueri data deret waktu.