通過調用QueryTimeseriesMeta介面,您可以查詢符合指定條件的時間軸。
前提條件
參數說明
參數 | 說明 |
timeseriesTableName(必選) | 時序表名稱。 |
condition(可選) | 檢索時間軸的查詢條件,支援以下多種條件的組合方式。
|
getTotalHits(可選) | 是否擷取符合條件總行數。預設值為False。 |
limit(可選) | 本次請求最多返回的行數。預設值為100,取值範圍為 說明 limit僅限制最多返回的行數,在滿足條件行數大於limit時,也可能由於掃描資料量等限制導致返回行數少於limit條,此時可以通過nextToken繼續擷取後面的行。 |
nextToken(可選) | 如果一次查詢僅返回了部分合格行,此時response中會包括nextToken,可在下一次請求中指定nextToken用來繼續讀取資料。 重要 如果需要持久化nextToken或者傳輸nextToken給前端頁面,您可以使用Base64編碼將nextToken編碼為String後進行儲存或傳輸。nextToken本身不是字串,如果直接使用 |
樣本
以下樣本用於查詢時序表中合格時間軸。
try:
# 查詢條件:度量名稱為cpu,標籤中含有os標籤且首碼為"Ubuntu"的所有時間軸。即measurement_name="cpu" and have_prefix(os, "Ubuntu")。
measCond = MeasurementMetaQueryCondition(MetaQuerySingleOperator.OP_EQUAL, "cpu")
tagCond = TagMetaQueryCondition(MetaQuerySingleOperator.OP_PREFIX, "os", "Ubuntu")
condition = CompositeMetaQueryCondition(MetaQueryCompositeOperator.OP_AND, [measCond, tagCond])
request = QueryTimeseriesMetaRequest("<TIMESERIES_TABLE_NAME>", condition)
# 調用介面檢索時間軸。
response = ots_client.query_timeseries_meta(request)
print("query timeseries metas succeeded. ")
for timeseriesMeta in response.timeseriesMetas:
print("data_source: %s, measurement_name: %s, tags: %s, attributes : %s, update_time_in_us: %s." % (
timeseriesMeta.timeseries_key.data_source, timeseriesMeta.timeseries_key.measurement_name,
timeseriesMeta.timeseries_key.tags,
timeseriesMeta.attributes, timeseriesMeta.update_time_in_us))
except Exception as e:
# 如果拋出異常,則說明執行失敗,處理異常。
print("query timeseries meta failed. %s" % e)