使用UpdateTimeseriesMeta介面,您可以批次更新時間軸中繼資料的屬性。一次UpdateTimeseriesMeta調用支援更新多個時間軸的中繼資料。

前提條件

  • 已寫入時序資料。具體操作,請參見寫入時序資料
  • 已初始化TimeseriesClient。具體操作,請參見初始化

參數

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!")
}