全部產品
Search
文件中心

Tablestore:寫入時序資料

更新時間:Apr 09, 2025

在建立時序表後,您可以通過調用PutTimeseriesData介面向時序表寫入時序資料。該介面支援批量寫入操作,單次調用即可完成多行資料的寫入。

注意事項

Table StorePython SDK從6.1.0版本開始支援時序模型功能,請確保已擷取正確的Python SDK版本。

說明

關於Python SDK歷史迭代版本的詳細資料,請參見Python SDK歷史迭代版本

前提條件

初始化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)