#[non_exhaustive]
pub struct DynamoDbAction { pub table_name: Option<String>, pub role_arn: Option<String>, pub operation: Option<String>, pub hash_key_field: Option<String>, pub hash_key_value: Option<String>, pub hash_key_type: Option<DynamoKeyType>, pub range_key_field: Option<String>, pub range_key_value: Option<String>, pub range_key_type: Option<DynamoKeyType>, pub payload_field: Option<String>, }
Expand description

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()}"

Fields (Non-exhaustive)

This struct is marked as non-exhaustive
Non-exhaustive structs could have additional fields added in future. Therefore, non-exhaustive structs cannot be constructed in external crates using the traditional Struct { .. } syntax; cannot be matched against without a wildcard ..; and struct update syntax will not work.
table_name: Option<String>

The name of the DynamoDB table.

role_arn: Option<String>

The ARN of the IAM role that grants access to the DynamoDB table.

operation: Option<String>

The type of operation to be performed. This follows the substitution template, so it can be ${operation}, but the substitution must result in one of the following: INSERT, UPDATE, or DELETE.

hash_key_field: Option<String>

The hash key name.

hash_key_value: Option<String>

The hash key value.

hash_key_type: Option<DynamoKeyType>

The hash key type. Valid values are "STRING" or "NUMBER"

range_key_field: Option<String>

The range key name.

range_key_value: Option<String>

The range key value.

range_key_type: Option<DynamoKeyType>

The range key type. Valid values are "STRING" or "NUMBER"

payload_field: Option<String>

The action payload. This name can be customized.

Implementations

The name of the DynamoDB table.

The ARN of the IAM role that grants access to the DynamoDB table.

The type of operation to be performed. This follows the substitution template, so it can be ${operation}, but the substitution must result in one of the following: INSERT, UPDATE, or DELETE.

The hash key name.

The hash key value.

The hash key type. Valid values are "STRING" or "NUMBER"

The range key name.

The range key value.

The range key type. Valid values are "STRING" or "NUMBER"

The action payload. This name can be customized.

Creates a new builder-style object to manufacture DynamoDbAction

Trait Implementations

Returns a copy of the value. Read more

Performs copy-assignment from source. Read more

Formats the value using the given formatter. Read more

This method tests for self and other values to be equal, and is used by ==. Read more

This method tests for !=.

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

Immutably borrows from an owned value. Read more

Mutably borrows from an owned value. Read more

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

The resulting type after obtaining ownership.

Creates owned data from borrowed data, usually by cloning. Read more

🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

The type returned in the event of a conversion error.

Performs the conversion.

The type returned in the event of a conversion error.

Performs the conversion.

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more