全部产品
Search
文档中心

表格存储:写入时序数据

更新时间:Apr 30, 2026

创建时序表后,调用PutTimeseriesData接口向时序表写入时序数据。该接口支持批量写入,单次调用可写入多行数据。

注意事项

时序模型功能需要 Tablestore Python SDK 6.1.0 及以上版本。

说明

关于 Python SDK各历史版本的详细信息,请参见Python SDK历史迭代版本

前提条件

已初始化 Tablestore 客户端。详情请参见初始化Tablestore Client

参数说明

参数

说明

timeseriesTableName(必选

时序表名称。

timeseriesRows(必选

时序数据列表。每行数据由时间线标识和时间线数据两部分组成。

  • timeseries_key(必选):时间线标识,包含以下字段:

    • measurement_name(必选):时间线的指标名称。

    • data_source(必选):数据源标识。

    • tags(必选):时间线的标签信息,由多个键值对(key-value)组成。

  • time_in_us(必选):数据点的时间戳,单位为微秒。

  • fields(必选):数据点字段集合,由多个字段键(FieldKey)和字段值(FieldValue)对组成。

示例

以下示例向时序表写入两行时序数据。

# 定义标签信息,用于标识时间线
tags = {"tag1": "t1", "tag2": "t2"}

# 创建时间线标识
key1 = TimeseriesKey("measure1", "datasource1", tags)
key2 = TimeseriesKey("measure2", "datasource2", tags)

# 定义各时间线的数据点字段
field1 = {"long_field": 1, "string_field": "string", "bool_field": True, "double_field": 0.3}
field2 = {"binary_field2": bytearray(b'a')}

try:
    # 构建时序数据行,时间戳单位为微秒
    row1 = TimeseriesRow(key1, field1, int(time.time() * 1000000))
    row2 = TimeseriesRow(key2, field2, int(time.time() * 1000000))
    rows = [row1, row2]

    # 调用接口写入时序数据
    ots_client.put_timeseries_data("<TIMESERIES_TABLE_NAME>", rows)
    print("put timeseries data succeeded.")
except Exception as e:
    print("put timeseries data failed. %s" % e)