Interface CfnTopicRule.DynamoDBActionProperty

All Superinterfaces:
software.amazon.jsii.JsiiSerializable
All Known Implementing Classes:
CfnTopicRule.DynamoDBActionProperty.Jsii$Proxy
Enclosing class:
CfnTopicRule

@Stability(Stable) public static interface CfnTopicRule.DynamoDBActionProperty extends software.amazon.jsii.JsiiSerializable
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 .

Example:

 // The code below shows an example of how to instantiate this type.
 // The values are placeholders you should change.
 import software.amazon.awscdk.services.iot.*;
 DynamoDBActionProperty dynamoDBActionProperty = DynamoDBActionProperty.builder()
         .hashKeyField("hashKeyField")
         .hashKeyValue("hashKeyValue")
         .roleArn("roleArn")
         .tableName("tableName")
         // the properties below are optional
         .hashKeyType("hashKeyType")
         .payloadField("payloadField")
         .rangeKeyField("rangeKeyField")
         .rangeKeyType("rangeKeyType")
         .rangeKeyValue("rangeKeyValue")
         .build();
 

See Also: