全部产品
Search
文档中心

Tablestore:Ambil deret waktu

更新时间:Jul 02, 2025

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

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:

  • operator: operator logika. Operator logika valid: AND, OR, dan NOT.

  • subConditions: subkondisi yang dapat digabungkan menggunakan operator untuk kueri kompleks.

measurementMetaQueryCondition

Ya. Anda harus menentukan salah satu parameter.

Kondisi nama data deret waktu, yang mencakup konten berikut:

  • operator: operator relasional atau kondisi pencocokan awalan. Operator relasional valid: =, >, >=, <, dan <=.

  • value: nama data deret waktu yang ingin Anda tanyakan. Jenis: STRING.

dataSourceMetaQueryCondition

Kondisi sumber data, yang mencakup konten berikut:

  • operator: operator relasional atau kondisi pencocokan awalan. Operator relasional valid: =, >, >=, <, dan <=.

  • value: sumber data dari deret waktu yang ingin Anda tanyakan. Jenis: STRING.

tagMetaQueryCondition

Kondisi tag, yang mencakup konten berikut:

  • operator: operator relasional atau kondisi pencocokan awalan. Operator relasional valid: =, >, >=, <, dan <=.

  • value: nilai tag dari deret waktu yang ingin Anda tanyakan. Jenis: STRING.

attributeMetaQueryCondition

Kondisi atribut untuk metadata deret waktu. Kondisi atribut mencakup konten berikut:

  • operator: operator relasional atau kondisi pencocokan awalan. Operator relasional valid: =, >, >=, <, dan <=.

  • attributeName: nama atribut. Jenis: STRING.

  • value: nilai atribut. Jenis: STRING.

updateTimeMetaQueryCondition

Kondisi waktu pembaruan untuk metadata deret waktu. Kondisi waktu pembaruan mencakup konten berikut:

  • operator: operator relasional. Operator relasional valid: =, >, >=, <, dan <=.

  • timeInUs: timestamp ketika metadata deret waktu diperbarui. Unit: mikrodetik.

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.