使用UpdateTimeseriesMeta方法,您可以批量更新时间线元数据的属性。一次UpdateTimeseriesMeta调用支持更新多个时间线的元数据。如果更新的时间线元数据不存在,则直接执行新增操作。
前提条件
参数
timeseriesMeta表示一个时间线元数据,每个timeseriesMeta包括timeseriesKey和attributes。详细参数说明请参见下表,
|
参数 |
是否必选 |
描述 |
|
timeseriesKey |
是 |
时间线标识。包含如下内容:
重要
如果不确定时间线的标识信息(例如度量名称、数据源信息),可调用QueryTimeseriesMeta接口,通过多种条件检索目标时间线。更多信息,请参见检索时间线。 |
|
attributes |
是 |
时间线的属性信息,内容为字符串类型的key-value对。 |
示例
以下示例用于更新时间线中的Attributes信息。
func UpdateTimeseriesMetaSample(tsClient *tablestore.TimeseriesClient, timeseriesTableName string) {
fmt.Println("[Info]: Begin to update timeseries meta!")
updateTimeseriesMetaRequest := tablestore.NewUpdateTimeseriesMetaRequest(timeseriesTableName)
timeseriesKey := tablestore.NewTimeseriesKey()
timeseriesKey.SetMeasurementName("NETWORK")
timeseriesKey.SetDataSource("127.0.0.1")
timeseriesKey.AddTag("City" , "Hangzhou")
timeseriesKey.AddTag("Region" , "Xihu")
timeseriesMeta := tablestore.NewTimeseriesMeta(timeseriesKey)
//timeseriesMeta.SetUpdateTimeInUs(96400)
timeseriesMeta.AddAttribute("NewRegion" , "Yuhang")
timeseriesMeta.AddAttribute("NewCity" , "Shanghai")
updateTimeseriesMetaRequest.AddTimeseriesMetas(timeseriesMeta)
updateTimeseriesMetaResponse , err := tsClient.UpdateTimeseriesMeta(updateTimeseriesMetaRequest)
if err != nil {
fmt.Println("[Error]: Update timeseries meta failed with error: " , err)
return
}
if len(updateTimeseriesMetaResponse.GetFailedRowResults()) > 0 {
fmt.Println("[Error]: Update timeseries meta failed row: ")
for i := 0; i < len(updateTimeseriesMetaResponse.GetFailedRowResults()); i++ {
fmt.Println("[Error]: " , updateTimeseriesMetaResponse.GetFailedRowResults()[i].Index , updateTimeseriesMetaResponse.GetFailedRowResults()[i].Error)
}
}
fmt.Println("[Info]: UpdateTimeseriesMetaSample finished!")
}
相关文档
如果要查看更新后的时间线属性信息,您可以通过检索时间线实现。