当使用表格存储时序模型时,您需要使用CreateTimeseriesTable接口创建时序表用于存储时序数据。创建时序表时支持配置数据生命周期、时序时间线表的配置信息和创建分析存储。分析存储可用于快速分析时序数据。
前提条件
已通过控制台创建实例。具体操作,请参见创建时序模型实例。
重要如果要使用分析存储,请在分析存储可用区创建时序模型实例。具体操作,请参见创建时序模型实例。
已初始化TimeseriesClient。具体操作,请参见初始化OTSClient。
注意事项
时序表的名称不能与当前已存在的数据表名称相同。
说明您可以使用ListTimeseriesTable接口列出指定实例下已有的时序表名称。具体操作,请参见列出时序表名称。
一个时序表只能创建一个分析存储。
参数
参数 | 说明 |
TimeseriesTableMeta | 时序表的结构信息,包含如下内容:
|
enableAnalyticalStore | 是否创建默认分析存储。默认值为true,表示创建默认分析存储。 创建分析存储后,您可以使用分析存储低成本存储时序数据以及查询与分析时序数据。更多信息,请参见时序分析存储概述。 如果不需要创建分析存储,请设置此参数为false。 |
analyticalStores | 重要 当前支持使用分析存储功能的地域有华东1(杭州)、华东2(上海)、华北2(北京)和华北3(张家口)地域。更多信息,请参见时序分析存储概述。 分析存储配置,包括如下内容:
|
示例
创建不带分析存储的时序表
以下示例用于创建一个时序表。
/**
* CreateTimeseriesTableSample用于创建一个时序表,时序表名为timeseriesTableName,TTL为timeTolive。
*/
func CreateTimeseriesTableSample(client *tablestore.TimeseriesClient, timeseriesTableName string , timeToLive int64) {
fmt.Println("[Info]: Begin to create timeseries table: " , timeseriesTableName)
// 构造时序表配置信息。
timeseriesTableOptions := tablestore.NewTimeseriesTableOptions(timeToLive)
// 构造表元数据信息。
// 设置时序表名。
timeseriesTableMeta := tablestore.NewTimeseriesTableMeta(timeseriesTableName)
// 设置时序表配置信息。
timeseriesTableMeta.SetTimeseriesTableOptions(timeseriesTableOptions)
// 构造创建时序表请求。
createTimeseriesTableRequest := tablestore.NewCreateTimeseriesTableRequest()
createTimeseriesTableRequest.SetTimeseriesTableMeta(timeseriesTableMeta)
// 不创建默认分析存储。
createTimeseriesTableRequest.SetEnableAnalyticalStore(false)
// 调用client创建时序表。
createTimeseriesTableResponse , err := client.CreateTimeseriesTable(createTimeseriesTableRequest)
if err != nil {
fmt.Println("[Error]: Failed to create timeseries table with error: " , err)
return
}
fmt.Println("[Info]: CreateTimeseriesTable finished! RequestId: " , createTimeseriesTableResponse.RequestId)
}
创建时序表时创建分析存储
创建时序表时支持创建默认分析存储或者创建自定义分析存储。
创建时序表时创建默认分析存储
以下示例用于创建时序表的同时创建一个默认分析存储。其中默认分析存储的名称固定为default_analytical_store,且默认分析存储内的数据永不过期。
/**
* CreateTimeseriesTableSample用于创建一个时序表,时序表名为timeseriesTableName,TTL为timeTolive。
*/
func CreateTimeseriesTableSample(client *tablestore.TimeseriesClient, timeseriesTableName string , timeToLive int64) {
fmt.Println("[Info]: Begin to create timeseries table: " , timeseriesTableName)
// 构造时序表配置信息。
timeseriesTableOptions := tablestore.NewTimeseriesTableOptions(timeToLive)
// 构造表元数据信息。
// 设置时序表名。
timeseriesTableMeta := tablestore.NewTimeseriesTableMeta(timeseriesTableName)
// 设置时序表配置信息。
timeseriesTableMeta.SetTimeseriesTableOptions(timeseriesTableOptions)
// 构造创建时序表请求。
createTimeseriesTableRequest := tablestore.NewCreateTimeseriesTableRequest()
createTimeseriesTableRequest.SetTimeseriesTableMeta(timeseriesTableMeta)
// 调用client创建时序表。
createTimeseriesTableResponse , err := client.CreateTimeseriesTable(createTimeseriesTableRequest)
if err != nil {
fmt.Println("[Error]: Failed to create timeseries table with error: " , err)
return
}
fmt.Println("[Info]: CreateTimeseriesTable finished! RequestId: " , createTimeseriesTableResponse.RequestId)
}
创建时序表时创建自定义分析存储
以下示例用于创建时序表的同时创建一个自定义分析存储。该自定义分析存储的名称为test_analytical_store,且自定义分析存储内的数据永不过期。
/**
* CreateTimeseriesTableSample用于创建一个时序表,时序表名为timeseriesTableName,TTL为timeTolive,并且创建一个分析存储test_analytical_store。
*/
func CreateTimeseriesTableSample(client *tablestore.TimeseriesClient, timeseriesTableName string , timeToLive int64) {
fmt.Println("[Info]: Begin to create timeseries table: " , timeseriesTableName)
// 构造时序表配置信息。
timeseriesTableOptions := tablestore.NewTimeseriesTableOptions(timeToLive)
// 构造表元数据信息。
// 设置时序表名。
timeseriesTableMeta := tablestore.NewTimeseriesTableMeta(timeseriesTableName)
// 设置时序表配置信息。
timeseriesTableMeta.SetTimeseriesTableOptions(timeseriesTableOptions)
// 构造创建时序表请求。
createTimeseriesTableRequest := tablestore.NewCreateTimeseriesTableRequest()
createTimeseriesTableRequest.SetTimeseriesTableMeta(timeseriesTableMeta)
// 构造分析存储配置信息。
createTimeseriesTableRequest.SetAnalyticalStores([]*tablestore.TimeseriesAnalyticalStore{
tablestore.NewTimeseriesAnalyticalStore("test_analytical_store"),
})
// 调用client创建时序表。
createTimeseriesTableResponse , err := client.CreateTimeseriesTable(createTimeseriesTableRequest)
if err != nil {
fmt.Println("[Error]: Failed to create timeseries table with error: " , err)
return
}
fmt.Println("[Info]: CreateTimeseriesTable finished! RequestId: " , createTimeseriesTableResponse.RequestId)
}
- 本页导读 (1)