使用UpdateTimeseriesMeta接口,您可以批量更新时间线元数据的属性。一次UpdateTimeseriesMeta调用支持更新多个时间线的元数据。

前提条件

  • 已写入时序数据。具体操作,请参见写入时序数据
  • 已初始化TimeseriesClient。具体操作,请参见初始化

参数

timeseriesMeta表示一个时间线元数据,每个timeseriesMeta包括timeseriesKey和attributes。详细参数说明请参见下表,

参数 描述
timeseriesKey 时间线标识。
attributes 时间线的属性信息,内容为字符串类型的key-value对。

示例

检索test_timeseries_table时序表中更新指定条件时间线的属性信息。

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");
        // 构造TimeseriesKey。
        TimeseriesKey timeseriesKey = new TimeseriesKey("cpu", "host_" + i, tags);
        TimeseriesMeta meta = new TimeseriesMeta(timeseriesKey);
        // 设置时间线的属性值(attributes)。
        Map<String, String> attrs = new HashMap<String, String>();
        attrs.put("status", "online");
        meta.setAttributes(attrs);
        timeseriesMetaList.add(meta);
    }
    String tableName = "test_timeseries_table";
    UpdateTimeseriesMetaRequest updateTimeseriesMetaRequest = new UpdateTimeseriesMetaRequest(tableName);
    updateTimeseriesMetaRequest.setMetas(timeseriesMetaList);
    UpdateTimeseriesMetaResponse updateTimeseriesMetaResponse = client.updateTimeseriesMeta(updateTimeseriesMetaRequest);
    // 检查是否全部成功。
    if (!updateTimeseriesMetaResponse.isAllSuccess()) {
        for (UpdateTimeseriesMetaResponse.FailedRowResult failedRowResult : updateTimeseriesMetaResponse.getFailedRows()) {
            System.out.println(failedRowResult.getIndex());
            System.out.println(failedRowResult.getError());
        }
    }
}