ALIYUN::OTS::Table类型用于根据指定的表结构信息创建相应的表。

语法

{
  "Type": "ALIYUN::OTS::Table",
  "Properties": {
    "ReservedThroughput": Map,
    "MaxVersions": Integer,
    "TableName": String,
    "SecondaryIndices": List,
    "DeviationCellVersionInSec": Integer,
    "TimeToLive": Integer,
    "InstanceName": String,
    "PrimaryKey": List,
    "Columns": List
  }
}

属性

属性名称类型必须允许更新描述约束
ReservedThroughputMap表的初始预留读或写吞吐量设定。任何表的预留读吞吐量与预留写吞吐量均不能超过5000次/秒。

详情请参见ReservedThroughput属性

MaxVersionsInteger表保留的最大版本数。取值范围:1~2,147,483,647。

默认值:1。

TableNameString表的名称。
SecondaryIndicesList表的二级指标。详情请参见SecondaryIndices属性
DeviationCellVersionInSecInteger最高版本偏差。用于禁止写入与预期较大的数据。例如:当前时间戳为10000,如果将DeviationCellVersionInSec设置为1000,则允许写入的时间戳范围为:9000~11000。

取值范围:1~9,223,372,036,854,775807。

默认值:86,400。

TimeToLiveInteger表中数据的保留时间。

最大值:2,147,483,647。

默认值:1。

单位:秒。

-1表示不会过期。

InstanceNameString表所在的OTS实例的名称。
PrimaryKeyList表全部的主键列。取值范围:1~4。

更多信息,请参见PrimaryKey属性

ColumnsList表存储的属性列。更多信息,请参见Columns属性

ReservedThroughput语法

"ReservedThroughput": {
  "Read": Integer,
  "Write": Integer
}

ReservedThroughput属性

属性名称类型必须允许更新描述约束
ReadInteger使用的读服务能力单元或表的预留读吞吐量。默认值:0。
WriteInteger使用的写服务能力单元或表的预留写吞吐量。默认值:0。

SecondaryIndices语法

"SecondaryIndices": [
  {
    "IndexName": String,
    "IndexType": String,
    "Columns": List,
    "PrimaryKeys": List
  }
]

SecondaryIndices属性

属性名称类型必须允许更新描述约束
IndexNameString索引名称
IndexTypeString索引类型取值:
  • Global
  • Local
ColumnsList索引列示例值:
["name", "email"]
说明 该属性不同于Columns属性
PrimaryKeysList主键

PrimaryKey语法

"PrimaryKey": [
  {
    "Type": String,
    "Name": String
  }
]

PrimaryKey属性

属性名称类型必须允许更新描述约束
TypeString主键的类型取值:
  • INTEGER:整数
  • STRING:字符串
  • BINARY:二进制
NameString主键的名称

Columns语法

"Columns": [
  {
    "Type": String,
    "Name": String
  }
]

Columns属性

属性名称类型必须允许更新描述约束
TypeString列的类型
NameString列的名字

返回值

Fn::GetAtt

TableName:表名。

示例

  • YAML格式

    ROSTemplateFormatVersion: '2015-09-01'
    Parameters: {}
    Resources:
      Table:
        Type: ALIYUN::OTS::Table
        Properties:
          TableName: TestTable
          InstanceName: mytest
          PrimaryKey:
            - Type: INTEGER
              Name: id
  • JSON格式

    {
      "ROSTemplateFormatVersion": "2015-09-01",
      "Parameters": {
      },
      "Resources": {
        "Table": {
          "Type": "ALIYUN::OTS::Table",
          "Properties": {
            "TableName": "TestTable",
            "InstanceName": "mytest",
            "PrimaryKey": [
              {
                "Type": "INTEGER",
                "Name": "id"
              }
            ]
          }
        }
      }
    }