Select your cookie preferences

We use essential cookies and similar tools that are necessary to provide our site and services. We use performance cookies to collect anonymous statistics, so we can understand how customers use our site and make improvements. Essential cookies cannot be deactivated, but you can choose “Customize” or “Decline” to decline performance cookies.

If you agree, AWS and approved third parties will also use cookies to provide useful site features, remember your preferences, and display relevant content, including relevant advertising. To accept or decline all non-essential cookies, choose “Accept” or “Decline.” To make more detailed choices, choose “Customize.”

AWS::IoT::TopicRule DynamoDBAction

Focus mode
AWS::IoT::TopicRule DynamoDBAction - AWS CloudFormation
Filter View

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

On this page

PrivacySite termsCookie preferences
© 2025, Amazon Web Services, Inc. or its affiliates. All rights reserved.