AWS::Timestream::Table - AWS CloudFormation

AWS::Timestream::Table

The CreateTable operation adds a new table to an existing database in your account. In an AWS account, table names must be at least unique within each Region if they are in the same database. You may have identical table names in the same Region if the tables are in separate databases. While creating the table, you must specify the table name, database name, and the retention properties. Service quotas apply. See code sample for details.

Syntax

To declare this entity in your AWS CloudFormation template, use the following syntax:

JSON

{ "Type" : "AWS::Timestream::Table", "Properties" : { "DatabaseName" : String, "MagneticStoreWriteProperties" : MagneticStoreWriteProperties, "RetentionProperties" : RetentionProperties, "Schema" : Schema, "TableName" : String, "Tags" : [ Tag, ... ] } }

Properties

DatabaseName

The name of the Timestream database that contains this table.

Length Constraints: Minimum length of 3 bytes. Maximum length of 256 bytes.

Required: Yes

Type: String

Pattern: ^[a-zA-Z0-9_.-]{3,256}$

Update requires: Replacement

MagneticStoreWriteProperties

Contains properties to set on the table when enabling magnetic store writes.

This object has the following attributes:

  • EnableMagneticStoreWrites: A boolean flag to enable magnetic store writes.

  • MagneticStoreRejectedDataLocation: The location to write error reports for records rejected, asynchronously, during magnetic store writes. Only S3Configuration objects are allowed. The S3Configuration object has the following attributes:

    • BucketName: The name of the S3 bucket.

    • EncryptionOption: The encryption option for the S3 location. Valid values are S3 server-side encryption with an S3 managed key (SSE_S3) or AWS managed key ( SSE_KMS).

    • KmsKeyId: The AWS KMS key ID to use when encrypting with an AWS managed key.

    • ObjectKeyPrefix: The prefix to use option for the objects stored in S3.

    Both BucketName and EncryptionOption are required when S3Configuration is specified. If you specify SSE_KMS as your EncryptionOption then KmsKeyId is required.

EnableMagneticStoreWrites attribute is required when MagneticStoreWriteProperties is specified. MagneticStoreRejectedDataLocation attribute is required when EnableMagneticStoreWrites is set to true.

See the following examples:

JSON

{ "Type" : AWS::Timestream::Table", "Properties":{ "DatabaseName":"TestDatabase", "TableName":"TestTable", "MagneticStoreWriteProperties":{ "EnableMagneticStoreWrites":true, "MagneticStoreRejectedDataLocation":{ "S3Configuration":{ "BucketName":"testbucket", "EncryptionOption":"SSE_KMS", "KmsKeyId":"1234abcd-12ab-34cd-56ef-1234567890ab", "ObjectKeyPrefix":"prefix" } } } } }

YAML

Type: AWS::Timestream::Table DependsOn: TestDatabase Properties: TableName: "TestTable" DatabaseName: "TestDatabase" MagneticStoreWriteProperties: EnableMagneticStoreWrites: true MagneticStoreRejectedDataLocation: S3Configuration: BucketName: "testbucket" EncryptionOption: "SSE_KMS" KmsKeyId: "1234abcd-12ab-34cd-56ef-1234567890ab" ObjectKeyPrefix: "prefix"

Required: No

Type: MagneticStoreWriteProperties

Update requires: No interruption

RetentionProperties

The retention duration for the memory store and magnetic store. This object has the following attributes:

  • MemoryStoreRetentionPeriodInHours: Retention duration for memory store, in hours.

  • MagneticStoreRetentionPeriodInDays: Retention duration for magnetic store, in days.

Both attributes are of type string. Both attributes are required when RetentionProperties is specified.

See the following examples:

JSON

{ "Type" : AWS::Timestream::Table", "Properties" : { "DatabaseName" : "TestDatabase", "TableName" : "TestTable", "RetentionProperties" : { "MemoryStoreRetentionPeriodInHours": "24", "MagneticStoreRetentionPeriodInDays": "7" } } }

YAML

Type: AWS::Timestream::Table DependsOn: TestDatabase Properties: TableName: "TestTable" DatabaseName: "TestDatabase" RetentionProperties: MemoryStoreRetentionPeriodInHours: "24" MagneticStoreRetentionPeriodInDays: "7"

Required: No

Type: RetentionProperties

Update requires: No interruption

Schema

The schema of the table.

Required: No

Type: Schema

Update requires: No interruption

TableName

The name of the Timestream table.

Length Constraints: Minimum length of 3 bytes. Maximum length of 256 bytes.

Required: No

Type: String

Pattern: ^[a-zA-Z0-9_.-]{3,256}$

Update requires: Replacement

Tags

The tags to add to the table

Required: No

Type: Array of Tag

Maximum: 200

Update requires: No interruption

Return values

Ref

When you pass the logical ID of this resource to the intrinsic Ref function, Ref returns the table name TABLE_NAME in the form DATABASE_NAME|TABLE_NAME. DATABASE_NAME is the name of the Timestream database that the table is contained in.

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

Fn::GetAtt

The Fn::GetAtt returns a value for the specified attribute of this type. The following are the available attributes:

Arn

The arn of the table.

Name

The name of the table.