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.