全部产品
Search
文档中心

Tablestore:Mengambil deret waktu

更新时间:Jul 02, 2025

Anda dapat mengambil deret waktu yang memenuhi kondisi tertentu dengan memanggil operasi QueryTimeseriesMeta.

Prasyarat

Klien telah diinisialisasi. Untuk informasi lebih lanjut, lihat Inisialisasi Klien Tablestore.

Parameter

Parameter

Deskripsi

timeseriesTableName (wajib)

Nama tabel deret waktu.

condition (opsional)

Kondisi kueri untuk mengambil deret waktu. Kombinasi kondisi berikut didukung.

  • CompositeMetaQueryCondition: kondisi gabungan, yang terdiri dari item-item berikut:

    • operator: operator logika. Nilai valid: OP_AND, OP_OR, dan OP_NOT.

    • sub_conditions: daftar subkondisi yang digabungkan menggunakan operator untuk membentuk kondisi kueri kompleks.

  • MeasurementMetaQueryCondition: kondisi nama metrik.

    • operator: operator relasional atau kondisi pencocokan awalan (OP_PREFIX). Operator relasional dapat berupa OP_EQUAL, OP_NOT_EQUAL, OP_GREATER_THAN, OP_GREATER_EQUAL, OP_LESS_THAN, atau OP_LESS_EQUAL.

    • value: nama metrik dari deret waktu yang ingin Anda kueri. Tipe: String.

  • DataSourceMetaQueryCondition: kondisi sumber data.

    • operator: operator relasional atau kondisi pencocokan awalan (OP_PREFIX). Operator relasional dapat berupa OP_EQUAL, OP_NOT_EQUAL, OP_GREATER_THAN, OP_GREATER_EQUAL, OP_LESS_THAN, atau OP_LESS_EQUAL.

    • value: nama sumber data dari deret waktu yang ingin Anda kueri. Tipe: String.

  • TagMetaQueryCondition: kondisi tag.

    • operator: operator relasional atau kondisi pencocokan awalan (OP_PREFIX). Operator relasional dapat berupa OP_EQUAL, OP_NOT_EQUAL, OP_GREATER_THAN, OP_GREATER_EQUAL, OP_LESS_THAN, atau OP_LESS_EQUAL.

    • tag_name: nama tag dari deret waktu yang ingin Anda kueri. Tipe: String.

    • value: nilai tag dari deret waktu yang ingin Anda kueri. Tipe: String.

  • UpdateTimeMetaQueryCondition: kondisi waktu pembaruan untuk metadata deret waktu.

    • operator: operator relasional. Nilai valid: <code data-tag="code">OP_EQUAL, , , , , .

    • time_in_us: timestamp waktu pembaruan untuk metadata deret waktu. Tipe: Integer. Satuan: mikrodetik.

  • AttributeMetaQueryCondition: kondisi atribut untuk metadata deret waktu.

    • operator: operator relasional atau kondisi pencocokan awalan (OP_PREFIX). Operator relasional dapat berupa OP_EQUAL, OP_NOT_EQUAL, OP_GREATER_THAN, OP_GREATER_EQUAL, OP_LESS_THAN, atau OP_LESS_EQUAL.

    • attribute_name: nama atribut. Tipe: String.

    • value: nilai atribut. Tipe: String.

getTotalHits (opsional)

Menentukan apakah akan mengembalikan jumlah total baris yang memenuhi kondisi pengambilan tertentu. Nilai default: False.

limit (opsional)

Jumlah maksimum baris yang ingin Anda kembalikan untuk permintaan ini. Nilai default: 100. Nilai valid: (0,1000].

Catatan

Parameter limit hanya membatasi jumlah maksimum baris yang ingin Anda kembalikan. Bahkan jika jumlah baris yang memenuhi kondisi tertentu melebihi batas, jumlah baris yang dikembalikan mungkin kurang dari nilai parameter limit karena batasan lain seperti jumlah maksimum data untuk pemindaian. Dalam hal ini, Anda dapat memperoleh baris yang tersisa dengan menggunakan parameter nextToken.

nextToken (opsional)

Jika hanya beberapa baris yang memenuhi kondisi tertentu yang dikembalikan dalam kueri, respons berisi parameter nextToken. Anda dapat menentukan parameter nextToken dalam permintaan berikutnya untuk mendapatkan baris yang tersisa.

Penting

Jika Anda ingin menyimpan nextToken secara persisten atau mentransfer nextToken ke halaman frontend, Anda dapat menggunakan Base64 untuk mengkodekan nextToken menjadi string. nextToken itu sendiri bukan string. Jika Anda langsung menggunakan str(nextToken) untuk mengkodekan token sebagai string, informasi token akan hilang.

Contoh

Berikut adalah contoh kode untuk mengambil deret waktu yang memenuhi kondisi tertentu dalam tabel deret waktu:

try:
    # Kondisi kueri: Semua deret waktu dengan nama metrik "cpu" dan tag bernama "os" dengan awalan "Ubuntu". 
    # Ini setara dengan measurement_name="cpu" and have_prefix(os, "Ubuntu").
    measCond = MeasurementMetaQueryCondition(MetaQuerySingleOperator.OP_EQUAL, "cpu")
    tagCond = TagMetaQueryCondition(MetaQuerySingleOperator.OP_PREFIX, "os", "Ubuntu")
    condition = CompositeMetaQueryCondition(MetaQueryCompositeOperator.OP_AND, [measCond, tagCond])

    request = QueryTimeseriesMetaRequest("", condition)
    # Panggil operasi untuk mengambil deret waktu.
    response = ots_client.query_timeseries_meta(request)
    print("query timeseries metas berhasil. ")
    for timeseriesMeta in response.timeseriesMetas:
        print("data_source: %s, measurement_name: %s, tags: %s, attributes : %s, update_time_in_us: %s." % (
        timeseriesMeta.timeseries_key.data_source, timeseriesMeta.timeseries_key.measurement_name,
        timeseriesMeta.timeseries_key.tags,
        timeseriesMeta.attributes, timeseriesMeta.update_time_in_us))
except Exception as e:
    # Jika pengecualian dilempar, kueri gagal. Tangani pengecualian.
    print("query timeseries meta gagal. %s" % e)