Untuk menanyakan informasi tentang deret waktu, seperti nama data deret waktu dan sumber data, atau mencantumkan deret waktu yang memenuhi kondisi tertentu, Anda dapat menggunakan operasi QueryTimeseriesMeta. Operasi ini memungkinkan Anda menanyakan deret waktu berdasarkan kondisi seperti nama data deret waktu, sumber data, tag, atribut, dan waktu pembaruan.
Prasyarat
Data deret waktu telah ditulis ke tabel deret waktu. Untuk informasi lebih lanjut, lihat Tulis Data Deret Waktu.
Instance TimeseriesClient telah diinisialisasi. Untuk informasi lebih lanjut, lihat Inisialisasi Klien Tablestore.
Parameter
Parameter metaQueryCondition menentukan kondisi pengambilan deret waktu. Kondisi tersebut meliputi compositeMetaQueryCondition, measurementMetaQueryCondition, dataSourceMetaQueryCondition, tagMetaQueryCondition, attributeMetaQueryCondition, dan updateTimeMetaQueryCondition. Tabel berikut menjelaskan parameter-parameter tersebut.
Parameter | Diperlukan | Deskripsi |
compositeMetaQueryCondition | Tidak | Kondisi komposit, yang mencakup konten berikut:
|
measurementMetaQueryCondition | Ya. Anda harus menentukan salah satu parameter. | Kondisi nama data deret waktu, 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
Berikut adalah contoh kode yang menunjukkan cara menanyakan nama data deret waktu, sumber data, dan tag deret waktu berdasarkan kondisi tertentu, termasuk kondisi komposit.
func QueryTimeseriesMetaSample(client *tablestore.TimeseriesClient , timeseriesTableName string) {
fmt.Println("[Info]: Mulai menanyakan metadata tabel deret waktu!")
// Bangun 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" , "")
// Bangun kondisi komposit.
compsiteMetaQueryCondition := tablestore.NewCompositeMetaQueryCondition(tablestore.OP_AND)
compsiteMetaQueryCondition.AddSubConditions(measurementMetaQueryCondition)
compsiteMetaQueryCondition.AddSubConditions(datasourceMetaQueryCondition)
compsiteMetaQueryCondition.AddSubConditions(tagMetaQueryCondition)
// Bangun permintaan kueri.
queryTimeseriesMetaRequest := tablestore.NewQueryTimeseriesMetaRequest(timeseriesTableName)
queryTimeseriesMetaRequest.SetCondition(compsiteMetaQueryCondition)
queryTimeseriesMetaRequest.SetLimit(-1)
// Panggil operasi terkait klien deret waktu untuk mengeksekusi permintaan kueri.
queryTimeseriesTableResponse , err := client.QueryTimeseriesMeta(queryTimeseriesMetaRequest)
if err != nil {
fmt.Println("[Error]: Menanyakan metadata tabel deret waktu gagal dengan kesalahan: " , err)
return
}
fmt.Println("[Info]: Menanyakan metadata tabel deret waktu berhasil: ")
for i := 0; i < len(queryTimeseriesTableResponse.GetTimeseriesMetas()); i++ {
curTimeseriesMeta := queryTimeseriesTableResponse.GetTimeseriesMetas()[i]
fmt.Println("[Info]: Meta_" , i , ": " , "Pengukuran: " , curTimeseriesMeta.GetTimeseriesKey().GetMeasurementName() ,
"Sumber: " , curTimeseriesMeta.GetTimeseriesKey().GetDataSource() ,
"Tags: " , curTimeseriesMeta.GetTimeseriesKey().GetTags(),
"Atribut: " , curTimeseriesMeta.GetAttributeSlice())
}
fmt.Println("[Info]: QueryTimeseriesMetaSample selesai!")
}FAQ
Referensi
Untuk informasi lebih lanjut tentang operasi API, lihat QueryTimeseriesMeta.
Jika atribut dalam metadata deret waktu tidak memenuhi persyaratan bisnis Anda, Anda dapat memperbarui atau menghapus metadata deret waktu. Untuk informasi lebih lanjut, lihat Perbarui Metadata Deret Waktu dan Hapus Metadata Deret Waktu.
Setelah Anda mengambil deret waktu yang diperlukan, Anda dapat menanyakan data deret waktu berdasarkan deret waktu tersebut. Untuk informasi lebih lanjut, lihat Kueri Data Deret Waktu.