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, ... ]
} }
YAML
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. TheS3Configuration
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
andEncryptionOption
are required whenS3Configuration
is specified. If you specifySSE_KMS
as yourEncryptionOption
thenKmsKeyId
is required. -
EnableMagneticStoreWrites
attribute is required whenMagneticStoreWriteProperties
is specified.MagneticStoreRejectedDataLocation
attribute is required whenEnableMagneticStoreWrites
is set totrue
.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 whenRetentionProperties
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
-
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.