您可以通过调用CreateTimeseriesTable接口来创建时序表。在创建时序表时,您需要指定与时序表及时间线元数据相关的配置信息。此外,还可以根据业务需求,自定义时间线标识以及作为主键的数据字段、创建分析存储以及创建Lastpoint索引。
注意事项
表格存储Python SDK从6.1.0版本开始支持时序模型功能,请确保已获取正确的Python SDK版本。
说明关于Python SDK历史迭代版本的详细信息,请参见Python SDK历史迭代版本。
时序表的名称在当前实例下必须唯一,不能与已存在的表名称重复。
一个时序表只能创建1个分析存储,且分析存储与Lastpoint索引的数量总和不得超过10个。
说明支持分析存储和Lastpoint索引功能的地域包括华东1(杭州)、华东2(上海)、华北2(北京)和华北3(张家口)。
一个时序表最多只能添加4个作为主键的数据字段。
为一个时序表自定义时间线标识时,最多可添加6个字段。
前提条件
初始化Tablestore Client。
参数说明
request
包含以下参数:
参数 | 说明 |
table_meta(必选) | 时序表的结构信息。包含以下内容:
|
analytical_stores(可选) | 时序分析存储的配置信息。包括以下内容:
|
lastpoint_index_metas(可选) | Lastpoint索引的配置信息。包括以下内容:
|
示例
创建时序表
以下示例用于创建时序表。
try:
# 时序表数据的生命周期172800秒(2天)。
tableOption = TimeseriesTableOptions(172800)
# 时间线元数据生命周期-1(永久),允许更新时间线元数据属性。
metaOption = TimeseriesMetaOptions(-1, True)
tableMeta = TimeseriesTableMeta("<TIMESERIES_TABLE_NAME>", tableOption, metaOption)
# 调用接口创建时序表。
request = CreateTimeseriesTableRequest(tableMeta)
otsClient.create_timeseries_table(request)
print("create timeseries table success.")
except Exception as e:
# 如果抛出异常,则说明执行失败,处理异常。
print("create timeseries table failed. %s" % e)
创建时序表时配置分析存储
以下示例用于创建时序表,并同时配置分析存储。
try:
# 时序表数据的生命周期172800秒(2天)。
tableOption = TimeseriesTableOptions(172800)
# 时间线元数据生命周期-1(永久),允许更新时间线元数据属性。
metaOption = TimeseriesMetaOptions(-1, True)
tableMeta = TimeseriesTableMeta("<TIMESERIES_TABLE_NAME>", tableOption, metaOption)
# 配置分析存储。
analyticalStore = TimeseriesAnalyticalStore("default_analytical_store", -1, SyncType.SYNC_TYPE_FULL)
# 调用接口创建时序表。
request = CreateTimeseriesTableRequest(tableMeta, [analyticalStore])
otsClient.create_timeseries_table(request)
print("create timeseries table success.")
except Exception as e:
# 如果抛出异常,则说明执行失败,处理异常。
print("create timeseries table failed. %s" % e)
创建时序表时自定义时间线标识和作为主键的数据字段
以下示例用于创建时序表,并配置自定义时间线标识为keyA
、keyB
和keyC
,同时有两个作为主键的数据字段gid
(字符串类型)和uid
(整型)。
try:
# 时序表数据的生命周期86400秒(1天)。
tableOption = TimeseriesTableOptions(86400)
# 时间线元数据生命周期-1(永久),允许更新时间线元数据属性。
metaOption = TimeseriesMetaOptions(-1, True)
# 自定义时间线标识
timeseriesKeys = ["keyA", "keyB", "keyC"]
# 作为主键的数据字段
fieldPrimaryKeys = [('gid', 'STRING'), ('uid', 'INTEGER')]
tableMeta = TimeseriesTableMeta("<TIMESERIES_TABLE_NAME>", tableOption, metaOption, timeseriesKeys,
fieldPrimaryKeys)
# 调用接口创建时序表。
request = CreateTimeseriesTableRequest(tableMeta)
otsClient.create_timeseries_table(request)
print("create timeseries table success.")
except Exception as e:
# 如果抛出异常,则说明执行失败,处理异常。
print("create timeseries table failed. %s" % e)
创建时序表时配置Lastpoint索引
以下示例用于创建时序表,并同时创建Lastpoint索引。
try:
# 时序表数据的生命周期86400秒(1天)。
tableOption = TimeseriesTableOptions(86400)
# 时间线元数据生命周期604800(7天),不允许更新时间线元数据属性。
metaOption = TimeseriesMetaOptions(604800, False)
tableMeta = TimeseriesTableMeta("<TIMESERIES_TABLE_NAME>", tableOption, metaOption)
# 配置Lastpoint索引。
lastPointIndex = LastpointIndexMeta("<LASTPOINT_INDEX_NAM>")
# 调用接口创建时序表。
request = CreateTimeseriesTableRequest(tableMeta, None, [lastPointIndex])
otsClient.create_timeseries_table(request)
print("create timeseries table success.")
except Exception as e:
# 如果抛出异常,则说明执行失败,处理异常。
print("create timeseries table failed. %s" % e)