赛尔校园公共服务平台 Logo
平台使用
阿里云
百度云
移动云
智算服务
教育生态
登录 →
赛尔校园公共服务平台 Logo
平台使用 阿里云 百度云 移动云 智算服务 教育生态
登录
  1. 首页
  2. 阿里云
  3. 表格存储
  4. 开发参考
  5. SDK参考
  6. Python SDK
  7. 时序模型
  8. 时间线操作
  9. 检索时间线

检索时间线

  • 时间线操作
  • 发布于 2025-04-22
  • 0 次阅读
文档编辑
文档编辑

通过调用QueryTimeseriesMeta接口,您可以查询符合指定条件的时间线。

前提条件

初始化Tablestore Client。

参数说明

参数

说明

timeseriesTableName(必选)

时序表名称。

condition(可选)

检索时间线的查询条件,支持以下多种条件的组合方式。

  • CompositeMetaQueryCondition:组合条件。包括以下内容:

    • operator:逻辑运算符,可选OP_AND、OP_OR和OP_NOT。

    • sub_conditions:子条件列表,通过operator组成复杂查询条件。

  • MeasurementMetaQueryCondition:度量名称条件。

    • operator:关系运算符或前缀匹配条件(OP_PREFIX),关系运算符可选OP_EQUAL、OP_NOT_EQUAL、OP_GREATER_THAN、OP_GREATER_EQUAL、OP_LESS_THAN、OP_LESS_EQUAL。

    • value:要匹配的度量名称值,类型为字符串。

  • DataSourceMetaQueryCondition:数据源条件。

    • operator:关系运算符或前缀匹配条件(OP_PREFIX),关系运算符可选OP_EQUAL、OP_NOT_EQUAL、OP_GREATER_THAN、OP_GREATER_EQUAL、OP_LESS_THAN、OP_LESS_EQUAL。

    • value:要匹配的数据源值,类型为字符串。

  • TagMetaQueryCondition:标签条件。

    • operator:关系运算符或前缀匹配条件(OP_PREFIX),关系运算符可选OP_EQUAL、OP_NOT_EQUAL、OP_GREATER_THAN、OP_GREATER_EQUAL、OP_LESS_THAN、OP_LESS_EQUAL。

    • tag_name:要匹配的标签名称,类型为字符串。

    • value:要匹配的标签值,类型为字符串。

  • UpdateTimeMetaQueryCondition:时间线元数据的更新时间条件。

    • operator:关系运算符,可选OP_EQUAL、OP_NOT_EQUAL、OP_GREATER_THAN、OP_GREATER_EQUAL、OP_LESS_THAN、OP_LESS_EQUAL。

    • time_in_us:时间线元数据更新时间的时间戳,类型为整型。单位为微秒。

  • AttributeMetaQueryCondition:时间线元数据的属性条件。

    • operator:关系运算符或前缀匹配条件(OP_PREFIX),关系运算符可选OP_EQUAL、OP_NOT_EQUAL、OP_GREATER_THAN、OP_GREATER_EQUAL、OP_LESS_THAN、OP_LESS_EQUAL。

    • attribute_name:属性名称,类型为字符串。

    • value:属性值,类型为字符串。

getTotalHits(可选)

是否获取符合条件总行数。默认值为False。

limit(可选)

本次请求最多返回的行数。默认值为100,取值范围为(0,1000]。

说明

limit仅限制最多返回的行数,在满足条件行数大于limit时,也可能由于扫描数据量等限制导致返回行数少于limit条,此时可以通过nextToken继续获取后面的行。

nextToken(可选)

如果一次查询仅返回了部分符合条件的行,此时response中会包括nextToken,可在下一次请求中指定nextToken用来继续读取数据。

重要

如果需要持久化nextToken或者传输nextToken给前端页面,您可以使用Base64编码将nextToken编码为String后进行保存或传输。nextToken本身不是字符串,如果直接使用str(nextToken)将token编码为String,则会导致token信息丢失。

示例

以下示例用于查询时序表中符合条件的时间线。

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)
相关文章

检索时间线 2025-04-22 14:23

通过调用QueryTimeseriesMeta接口,您可以查询符合指定条件的时间线。 前提条件 初始化Tablestore Client。 参数说明

更新时间线 2025-04-22 14:23

您可以通过调用UpdateTimeseriesMeta接口来更新时间线元数据的属性。如果待更新的时间线元数据不存在,则将直接执行新增操作。该接口支持批量操作,单次调用即可完成多个时间线的元数据的更新。 前提条件 初始化Tablestore Client。

删除时间线 2025-04-22 14:23

通过调用DeleteTimeseriesMeta接口,您可以批量删除时间线元数据。 前提条件 初始化Tablestore Client。 参数说明

目录
Copyright © 2025 your company All Rights Reserved. Powered by 赛尔网络.
京ICP备14022346号-15
gongan beian 京公网安备11010802041014号