This is the new AWS CloudFormation Template Reference Guide. Please update your bookmarks and links. For help getting started with CloudFormation, see the AWS CloudFormation User Guide.
AWS::IoT::TopicRule DynamoDBAction
Describes an action to write to a DynamoDB table.
The tableName, hashKeyField, and rangeKeyField
values must match the values used when you created the table.
The hashKeyValue and rangeKeyvalue fields use a
substitution template syntax. These templates provide data at runtime. The syntax is as
follows: ${sql-expression}.
You can specify any valid expression in a WHERE or SELECT clause, including JSON properties, comparisons, calculations, and functions. For example, the following field uses the third level of the topic:
"hashKeyValue": "${topic(3)}"
The following field uses the timestamp:
"rangeKeyValue": "${timestamp()}"
For more information, see DynamoDBv2 Action in the AWS IoT Developer Guide.
Syntax
To declare this entity in your AWS CloudFormation template, use the following syntax:
JSON
{ "HashKeyField" :String, "HashKeyType" :String, "HashKeyValue" :String, "PayloadField" :String, "RangeKeyField" :String, "RangeKeyType" :String, "RangeKeyValue" :String, "RoleArn" :String, "TableName" :String}
YAML
HashKeyField:StringHashKeyType:StringHashKeyValue:StringPayloadField:StringRangeKeyField:StringRangeKeyType:StringRangeKeyValue:StringRoleArn:StringTableName:String
Properties
HashKeyField-
The hash key name.
Required: Yes
Type: String
Update requires: No interruption
HashKeyType-
The hash key type. Valid values are "STRING" or "NUMBER"
Required: No
Type: String
Allowed values:
STRING | NUMBERUpdate requires: No interruption
HashKeyValue-
The hash key value.
Required: Yes
Type: String
Update requires: No interruption
PayloadField-
The action payload. This name can be customized.
Required: No
Type: String
Update requires: No interruption
RangeKeyField-
The range key name.
Required: No
Type: String
Update requires: No interruption
RangeKeyType-
The range key type. Valid values are "STRING" or "NUMBER"
Required: No
Type: String
Allowed values:
STRING | NUMBERUpdate requires: No interruption
RangeKeyValue-
The range key value.
Required: No
Type: String
Update requires: No interruption
RoleArn-
The ARN of the IAM role that grants access to the DynamoDB table.
Required: Yes
Type: String
Update requires: No interruption
TableName-
The name of the DynamoDB table.
Required: Yes
Type: String
Update requires: No interruption