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