使用UpdateTimeseriesMeta介面,您可以批次更新時間軸中繼資料的屬性。一次UpdateTimeseriesMeta調用支援更新多個時間軸的中繼資料。
前提條件
參數
timeseriesMeta表示一個時間軸中繼資料,每個timeseriesMeta包括timeseriesKey和attributes。詳細參數說明請參見下表,
參數 | 描述 |
---|---|
timeseriesKey | 時間軸標識。 |
attributes | 時間軸的屬性資訊,內容為字串類型的key-value對。 |
樣本
/**
* UpdateTimeseriesMetaSample用於更新時間軸中的Attributes資訊。
*/
func UpdateTimeseriesMetaSample(tsClient *tablestore.TimeseriesClient, timeseriesTableName string) {
fmt.Println("[Info]: Begin to update timeseries meta!")
PutTimeseriesDataSample(tsClient , timeseriesTableName)
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)
}
}
QueryTimeseriesMetaSample(tsClient , timeseriesTableName)
fmt.Println("[Info]: UpdateTimeseriesMetaSample finished!")
}