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:
String
HashKeyType:String
HashKeyValue:String
PayloadField:String
RangeKeyField:String
RangeKeyType:String
RangeKeyValue:String
RoleArn:String
TableName: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 | NUMBER
Update 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 | NUMBER
Update 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