AWS::Cassandra::Table - AWS CloudFormation
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

AWS::Cassandra::Table

AWS::Cassandra::Table 资源让您能够在 Amazon Keyspaces (for Apache Cassandra) 中创建新表。有关更多信息,请参阅 Amazon Keyspaces 开发人员指南 中的创建密钥空间和表

语法

要在 AWS CloudFormation 模板中声明此实体,请使用以下语法:

JSON

{ "Type" : "AWS::Cassandra::Table", "Properties" : { "BillingMode" : BillingMode, "ClusteringKeyColumns" : [ ClusteringKeyColumn, ... ], "KeyspaceName" : String, "PartitionKeyColumns" : [ Column, ... ], "RegularColumns" : [ Column, ... ], "TableName" : String } }

属性

BillingMode

表的计费模式,它确定了读取和写入费用的方式:

  • 按需模式(默认)- 根据您的应用程序执行的实际读取和写入付费。

  • 预置模式 - 您为您的应用程序指定需要的每秒读取和写入次数。

如果不指定该属性的值,则表将使用按需模式。

必需:否

类型BillingMode

Update requires: No interruption

ClusteringKeyColumns

用于确定表数据排序方式的一个或多个列。

必需:否

类型ClusteringKeyColumn 列表

Update requires: Replacement

KeyspaceName

要在其中创建表的密钥空间的名称。密钥空间必须已经存在。

必需:是

类型:字符串

Update requires: Replacement

PartitionKeyColumns

用于唯一地标识表中每一行的一个或多个列。每个表都必须有一个分区键。

必需:是

类型Column 列表

Update requires: Replacement

RegularColumns

一个或多个不属于主键的列 - 即 定义为分区键列或集群键列的列。

必需:否

类型Column 列表

Update requires: No interruption

TableName

要创建的表的名称。如果未指定名称,AWS CloudFormation 将生成一个唯一 ID 并使用该 ID 作为表名。有关更多信息,请参阅名称类型

重要

如果指定一个名称,您将无法执行需要替换该资源的更新。您可以执行不需要或者只需要部分中断的更新。如果必须替换资源,请指定新名称。

长度限制:最小长度为 3。长度上限为 255。

模式:^[a-zA-Z0-9][a-zA-Z0-9_]{1,47}$

必需:否

类型:字符串

Update requires: Replacement

返回值

Ref

在将此资源的逻辑 ID 传递给内部 Ref 函数时,Ref 返回表的名称和表所在的密钥空间(以“|”分隔)。例如:

{ "Ref": "myKeyspace|myTable" }

For more information about using the Ref function, see Ref.

示例

使用最少选项创建表

以下示例会创建一个新表。该表将具有系统生成的名称,并将使用按需计费。

JSON

{ "AWSTemplateFormatVersion": "2010-09-09", "Resources": { "MyNewTable": { "Type": "AWS::Cassandra::Table", "Properties": { "KeyspaceName": "MyNewKeyspace", "PartitionKeyColumns": [ { "ColumnName": "Message", "ColumnType": "ASCII" } ] } } } }

YAML

AWSTemplateFormatVersion: 2010-09-09 Resources: MyNewTable: Type: 'AWS::Cassandra::Table' Properties: KeyspaceName: MyNewKeyspace PartitionKeyColumns: - ColumnName: Message ColumnType: ASCII

创建使用预置模式的表

以下示例创建具有特定读取和写入容量的表。

JSON

{ "AWSTemplateFormatVersion":"2010-09-09", "Resources":{ "mySecondTable":{ "Type":"AWS::Cassandra::Table", "Properties":{ "KeyspaceName":"MyNewKeyspace", "TableName":"Employees", "PartitionKeyColumns":[ { "ColumnName":"id", "ColumnType":"ASCII" } ], "ClusteringKeyColumns":[ { "Column":{ "ColumnName":"division", "ColumnType":"ASCII" }, "OrderBy":"ASC" } ], "RegularColumns":[ { "ColumnName":"name", "ColumnType":"TEXT" }, { "ColumnName":"region", "ColumnType":"TEXT" }, { "ColumnName":"division", "ColumnType":"TEXT" }, { "ColumnName":"project", "ColumnType":"TEXT" }, { "ColumnName":"role", "ColumnType":"TEXT" }, { "ColumnName":"pay_scale", "ColumnType":"TEXT" }, { "ColumnName":"vacation_hrs", "ColumnType":"FLOAT" }, { "ColumnName":"manager_id", "ColumnType":"TEXT" } ], "BillingMode":{ "Mode":"PROVISIONED", "ProvisionedThroughput":{ "ReadCapacityUnits":5, "WriteCapacityUnits":5 } } } } } }

YAML

AWSTemplateFormatVersion: '2010-09-09' Resources: mySecondTable: Type: AWS::Cassandra::Table Properties: KeyspaceName: MyNewKeyspace TableName: Employees PartitionKeyColumns: - ColumnName: id ColumnType: ASCII ClusteringKeyColumns: - Column: ColumnName: division ColumnType: ASCII OrderBy: ASC RegularColumns: - ColumnName: name ColumnType: TEXT - ColumnName: region ColumnType: TEXT - ColumnName: division ColumnType: TEXT - ColumnName: project ColumnType: TEXT - ColumnName: role ColumnType: TEXT - ColumnName: pay_scale ColumnType: TEXT - ColumnName: vacation_hrs ColumnType: FLOAT - ColumnName: manager_id ColumnType: TEXT BillingMode: Mode: PROVISIONED ProvisionedThroughput: ReadCapacityUnits: 5 WriteCapacityUnits: 5