AWS::IoT::TopicRule DynamoDBAction - Amazon CloudFormation
Services or capabilities described in Amazon Web Services documentation might vary by Region. To see the differences applicable to the China Regions, see Getting Started with Amazon Web Services in China (PDF).

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 Amazon IoT Developer Guide.

Syntax

To declare this entity in your Amazon 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

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

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