文档

创建时序表

当使用表格存储时序模型时,您需要使用CreateTimeseriesTable接口创建时序表用于存储时序数据。创建时序表时支持配置数据生命周期、时序时间线表的配置信息和创建分析存储分析存储可用于快速分析时序数据。

前提条件

注意事项

  • 时序表的名称不能与当前已存在的数据表名称相同。

    说明

    您可以使用ListTimeseriesTable接口列出指定实例下已有的时序表名称。具体操作,请参见列出时序表名称

  • 一个时序表只能创建一个分析存储。

参数

参数

说明

TimeseriesTableMeta

时序表的结构信息,包含如下内容:

  • timeseriesTableName:时序表名。

  • timeseriesMetaOptions:时序时间线表的配置信息,包括如下内容:

    • metaTimeToLive:配置时序时间线表的时间线数据存活时间,单位为秒。取值必须大于等于604800秒(即7天)或者必须为-1(数据永不过期)。

    • allowUpdateAttributes:是否允许更新时间线属性列。

    您可以通过UpdateTimeseriesTable接口修改相应配置。

  • timeseriesTableOptions:时序表的配置信息,包括如下内容:

    timeToLive:配置时序表的数据存活时间,单位为秒。如果希望数据永不过期,可以设置为-1。您可以通过UpdateTimeseriesTable接口修改。

enableAnalyticalStore

是否创建默认分析存储。默认值为true,表示创建默认分析存储。

创建分析存储后,您可以使用分析存储低成本存储时序数据以及查询与分析时序数据。更多信息,请参见时序分析存储概述

如果不需要创建分析存储,请设置此参数为false。

analyticalStores

重要

当前支持使用分析存储功能的地域有华东1(杭州)、华东2(上海)、华北2(北京)和华北3(张家口)地域。更多信息,请参见时序分析存储概述

分析存储配置,包括如下内容:

  • analyticalStoreName:分析存储名称。

  • timeToLive:分析存储的数据生命周期。单位为秒。取值范围为-1(数据永不过期)或者大于等于2592000秒(即30天)的int32的正整数。

    如果希望数据永不过期,可以设置为-1。

  • syncOption:数据同步配置。固定取值为SYNC_TYPE_FULL。

示例

创建不带分析存储的时序表

以下示例用于创建一个时序表。

/**
 * 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)
文档反馈