All Products
Search
Document Center

Tablestore:Kueri metadata deret waktu

Last Updated:Aug 04, 2026

Gunakan Tablestore SDK for Java untuk mengkueri metadata deret waktu berdasarkan nama measurement, sumber data, tag, atribut, atau waktu pembaruan; menggabungkan kondisi; serta membagi hasil ke dalam halaman.

Prasyarat

Pasang Tablestore SDK for Java dan inisialisasi client deret waktu.

Deskripsi

Panggil queryTimeseriesMeta untuk mengkueri metadata deret waktu dalam tabel deret waktu. Jika tidak menentukan kondisi, semua metadata deret waktu akan dikembalikan. Jika menentukan kondisi, metadata akan difilter berdasarkan satu atau beberapa karakteristik deret waktu.

public QueryTimeseriesMetaResponse queryTimeseriesMeta(QueryTimeseriesMetaRequest request) throws TableStoreException, ClientException
Catatan

Server secara asinkron membangun indeks metadata untuk deret waktu baru. Setelah menulis deret waktu baru, tunggu hingga indeks selesai dibangun sebelum mengkueri metadatanya.

Contoh berikut mengkueri metadata deret waktu yang memiliki nama measurement cpu dan nilai tag os yang diawali dengan Ubuntu pada example_timeseries_table.

CompositeMetaQueryCondition condition =
        new CompositeMetaQueryCondition(MetaQueryCompositeOperator.OP_AND);
condition.addSubCondition(new MeasurementMetaQueryCondition(
        MetaQuerySingleOperator.OP_EQUAL, "cpu"));
condition.addSubCondition(new TagMetaQueryCondition(
        MetaQuerySingleOperator.OP_PREFIX, "os", "Ubuntu"));

QueryTimeseriesMetaRequest request =
        new QueryTimeseriesMetaRequest("example_timeseries_table");
request.setCondition(condition);
request.setGetTotalHits(true);
request.setLimit(100);

QueryTimeseriesMetaResponse response =
        timeseriesClient.queryTimeseriesMeta(request);
System.out.println(response.getTotalHits());
for (TimeseriesMeta meta : response.getTimeseriesMetas()) {
    System.out.println(meta);
}

Parameter

QueryTimeseriesMetaRequest berisi parameter berikut.

Nama

Tipe

Deskripsi

timeseriesTableName (wajib)

String

Nama tabel deret waktu.

condition (opsional)

MetaQueryCondition

Kondisi yang digunakan untuk mengkueri metadata deret waktu. Jika parameter ini tidak ditentukan, semua metadata deret waktu akan dikembalikan.

getTotalHits (opsional)

boolean

Menentukan apakah jumlah total entri metadata deret waktu yang sesuai harus dikembalikan. Nilai default: false.

limit (opsional)

int

Jumlah maksimum entri metadata deret waktu yang dikembalikan dalam satu permintaan. Hanya nilai positif yang berlaku. Jumlah aktual entri yang dikembalikan mungkin lebih sedikit dari nilai ini.

nextToken (opsional)

byte[]

Token paginasi. Jangan tentukan parameter ini pada permintaan pertama. Jika nextToken dalam respons tidak null, teruskan ke permintaan berikutnya. Jangan anggap kueri telah selesai hanya karena halaman kosong atau berisi entri lebih sedikit dari limit. Untuk menyimpan atau mentransfer token biner, encode dalam Base64.

condition dapat diatur ke salah satu tipe kondisi berikut. Kondisi string mendukung OP_EQUAL, OP_GREATER_THAN, OP_GREATER_EQUAL, OP_LESS_THAN, OP_LESS_EQUAL, dan OP_PREFIX. Kondisi waktu pembaruan tidak mendukung OP_PREFIX.

Kondisi komposit

Jika condition bertipe CompositeMetaQueryCondition, parameter berikut tersedia.

Nama

Tipe

Deskripsi

operator (wajib)

MetaQueryCompositeOperator

Operator logika. Nilai yang valid: OP_AND, OP_OR, dan OP_NOT.

subConditions (wajib)

List<MetaQueryCondition>

Daftar kondisi yang tidak kosong untuk digabungkan. Subkondisi juga dapat berupa kondisi komposit.

Kondisi nama measurement

Jika condition bertipe MeasurementMetaQueryCondition, parameter berikut tersedia.

Nama

Tipe

Deskripsi

operator (wajib)

MetaQuerySingleOperator

Operator kueri.

value (wajib)

String

Nama measurement yang sesuai.

Kondisi sumber data

Jika condition bertipe DataSourceMetaQueryCondition, parameter berikut tersedia.

Nama

Tipe

Deskripsi

operator (wajib)

MetaQuerySingleOperator

Operator kueri.

value (wajib)

String

Pengenal sumber data yang sesuai.

Kondisi tag

Jika condition bertipe TagMetaQueryCondition, parameter berikut tersedia.

Nama

Tipe

Deskripsi

operator (wajib)

MetaQuerySingleOperator

Operator kueri.

tagName (wajib)

String

Nama tag yang tidak kosong untuk dicocokkan.

value (wajib)

String

Nilai tag yang sesuai.

Kondisi atribut

Jika condition bertipe AttributeMetaQueryCondition, parameter berikut tersedia.

Nama

Tipe

Deskripsi

operator (wajib)

MetaQuerySingleOperator

Operator kueri.

attributeName (wajib)

String

Nama atribut yang tidak kosong untuk dicocokkan.

value (wajib)

String

Nilai atribut yang sesuai.

Kondisi waktu pembaruan

Jika condition bertipe UpdateTimeMetaQueryCondition, parameter berikut tersedia.

Nama

Tipe

Deskripsi

operator (wajib)

MetaQuerySingleOperator

Operator kueri. Nilai yang valid: OP_EQUAL, OP_GREATER_THAN, OP_GREATER_EQUAL, OP_LESS_THAN, dan OP_LESS_EQUAL.

timeInUs (wajib)

long

Waktu pembaruan terakhir metadata, dalam mikrodetik sejak 1970-01-01 00:00:00 UTC.

Respons

QueryTimeseriesMetaResponse berisi bidang spesifik operasi berikut.

Bidang

Tipe

Deskripsi

timeseriesMetas

List<TimeseriesMeta>

Panggil getTimeseriesMetas() untuk mendapatkan metadata deret waktu yang dikembalikan oleh permintaan saat ini.

totalHits

long

Panggil getTotalHits() untuk mendapatkan jumlah total entri metadata deret waktu yang sesuai. Bidang ini hanya valid jika getTotalHits diatur ke true dalam permintaan. Jika tidak, nilainya adalah -1.

nextToken

byte[]

Panggil getNextToken() untuk mendapatkan token halaman berikutnya. Nilai null menunjukkan bahwa semua hasil telah dikembalikan.

Metadata deret waktu

Setiap elemen dalam timeseriesMetas[] bertipe TimeseriesMeta dan berisi bidang berikut.

Bidang

Tipe

Deskripsi

timeseriesKey

TimeseriesKey

Panggil getTimeseriesKey() untuk mendapatkan pengenal deret waktu.

attributes

SortedMap<String, String>

Panggil getAttributes() untuk mendapatkan atribut metadata.

updateTimeInUs

long

Panggil getUpdateTimeInUs() untuk mendapatkan waktu pembaruan terakhir metadata dalam mikrodetik.

Pengenal deret waktu

timeseriesMetas[].timeseriesKey bertipe TimeseriesKey dan berisi bidang berikut.

Bidang

Tipe

Deskripsi

measurementName

String

Panggil getMeasurementName() untuk mendapatkan nama measurement.

dataSource

String

Panggil getDataSource() untuk mendapatkan pengenal sumber data.

tags

SortedMap<String, String>

Panggil getTags() untuk mendapatkan tag.

Contoh

Paginasi seluruh metadata

Jika nextToken dalam respons tidak null, teruskan token tersebut berulang kali hingga semua hasil dikembalikan.

List<TimeseriesMeta> allMetas = new ArrayList<>();
byte[] nextToken = null;
do {
    request.setNextToken(nextToken);
    QueryTimeseriesMetaResponse response =
            timeseriesClient.queryTimeseriesMeta(request);

    allMetas.addAll(response.getTimeseriesMetas());
    nextToken = response.getNextToken();
} while (nextToken != null);