全部产品
Search
文档中心

Tablestore:Perbarui deret waktu

更新时间:Jul 02, 2025

Anda dapat memanggil operasi UpdateTimeseriesMeta untuk memperbarui metadata beberapa deret waktu secara bersamaan. Jika metadata deret waktu yang ingin diperbarui tidak ada, metadata tersebut akan ditambahkan.

Prasyarat

Klien harus sudah diinisialisasi. Untuk informasi lebih lanjut, lihat Inisialisasi klien Tablestore.

Operasi

public class UpdateTimeseriesMetaRequest implements Request {
    /** Nama tabel deret waktu. */
    private final String timeseriesTableName;
    /** Metadata deret waktu. */
    private List<TimeseriesMeta> metas = new ArrayList<TimeseriesMeta>();
}

public class TimeseriesMeta {
    /** Pengidentifikasi metadata deret waktu. */
    private TimeseriesKey timeseriesKey;
    /** Atribut metadata deret waktu. */
    private SortedMap<String, String> attributes = new TreeMap<String, String>();
    /** Waktu hidup (TTL) metadata deret waktu. */
    private long updateTimeInUs = -1;
}

public class TimeseriesKey implements Comparable<TimeseriesKey> {
    /** Nama metrik. */
    private final String measurementName;
    /** Nama sumber data. */
    private final String dataSource;
    /** Informasi tag. */
    private final SortedMap<String, String> tags = new TreeMap<String, String>();
    private String tagsString;
}

Parameter

Parameter timeseriesMeta menentukan metadata deret waktu. Setiap parameter timeseriesMeta terdiri dari parameter timeseriesKey dan attributes. Tabel berikut menjelaskan parameter tersebut.

Parameter

Deskripsi

timeseriesKey

Pengidentifikasi deret waktu.

attributes

Atribut deret waktu. Nilainya terdiri dari satu atau lebih pasangan kunci-nilai bertipe String.

Contoh

Kode contoh berikut mengilustrasikan cara memperbarui atribut dalam metadata deret waktu pada tabel deret waktu:

private static void updateTimeseriesMeta(TimeseriesClient client) {
    List<TimeseriesMeta> timeseriesMetaList = new ArrayList<TimeseriesMeta>();
    for (int i = 0; i < 10; i++) {
        Map<String, String> tags = new HashMap<String, String>();
        tags.put("region", "hangzhou");
        tags.put("os", "Ubuntu16.04");
        // Konstruksi pengidentifikasi deret waktu.
        TimeseriesKey timeseriesKey = new TimeseriesKey("cpu", "host_" + i, tags);
        TimeseriesMeta meta = new TimeseriesMeta(timeseriesKey);
        // Tentukan atribut dalam metadata deret waktu.
        Map<String, String> attrs = new HashMap<String, String>();
        attrs.put("status", "online");
        meta.setAttributes(attrs);
        timeseriesMetaList.add(meta);
    }
    // Tentukan nama tabel deret waktu.
    String tableName = "<TIME_SERIES_TABLE>";
    UpdateTimeseriesMetaRequest updateTimeseriesMetaRequest = new UpdateTimeseriesMetaRequest(tableName);
    updateTimeseriesMetaRequest.setMetas(timeseriesMetaList);
    UpdateTimeseriesMetaResponse updateTimeseriesMetaResponse = client.updateTimeseriesMeta(updateTimeseriesMetaRequest);
    // Periksa apakah atribut diperbarui.
    if (!updateTimeseriesMetaResponse.isAllSuccess()) {
        for (UpdateTimeseriesMetaResponse.FailedRowResult failedRowResult : updateTimeseriesMetaResponse.getFailedRows()) {
            System.out.println(failedRowResult.getIndex());
            System.out.println(failedRowResult.getError());
        }
    }
}

Referensi

Untuk melihat atribut yang diperbarui dalam metadata deret waktu, Anda dapat mengambil deret waktu. Untuk informasi lebih lanjut, lihat Kueri deret waktu.