Class DynamoDBv2Action

java.lang.Object
software.amazon.awssdk.services.iotevents.model.DynamoDBv2Action
All Implemented Interfaces:
Serializable, SdkPojo, ToCopyableBuilder<DynamoDBv2Action.Builder,DynamoDBv2Action>

@Generated("software.amazon.awssdk:codegen") public final class DynamoDBv2Action extends Object implements SdkPojo, Serializable, ToCopyableBuilder<DynamoDBv2Action.Builder,DynamoDBv2Action>

Defines an action to write to the Amazon DynamoDB table that you created. The default action payload contains all the information about the detector model instance and the event that triggered the action. You can customize the payload. A separate column of the DynamoDB table receives one attribute-value pair in the payload that you specify.

You must use expressions for all parameters in DynamoDBv2Action. The expressions accept literals, operators, functions, references, and substitution templates.

Examples

  • For literal values, the expressions must contain single quotes. For example, the value for the tableName parameter can be 'GreenhouseTemperatureTable'.

  • For references, you must specify either variables or input values. For example, the value for the tableName parameter can be $variable.ddbtableName.

  • For a substitution template, you must use ${}, and the template must be in single quotes. A substitution template can also contain a combination of literals, operators, functions, references, and substitution templates.

    In the following example, the value for the contentExpression parameter in Payload uses a substitution template.

    '{\"sensorID\": \"${$input.GreenhouseInput.sensor_id}\", \"temperature\": \"${$input.GreenhouseInput.temperature * 9 / 5 + 32}\"}'

  • For a string concatenation, you must use +. A string concatenation can also contain a combination of literals, operators, functions, references, and substitution templates.

    In the following example, the value for the tableName parameter uses a string concatenation.

    'GreenhouseTemperatureTable ' + $input.GreenhouseInput.date

For more information, see Expressions in the AWS IoT Events Developer Guide.

The value for the type parameter in Payload must be JSON.

See Also:
  • Method Details

    • tableName

      public final String tableName()

      The name of the DynamoDB table.

      Returns:
      The name of the DynamoDB table.
    • payload

      public final Payload payload()
      Returns the value of the Payload property for this object.
      Returns:
      The value of the Payload property for this object.
    • toBuilder

      public DynamoDBv2Action.Builder toBuilder()
      Description copied from interface: ToCopyableBuilder
      Take this object and create a builder that contains all of the current property values of this object.
      Specified by:
      toBuilder in interface ToCopyableBuilder<DynamoDBv2Action.Builder,DynamoDBv2Action>
      Returns:
      a builder for type T
    • builder

      public static DynamoDBv2Action.Builder builder()
    • serializableBuilderClass

      public static Class<? extends DynamoDBv2Action.Builder> serializableBuilderClass()
    • hashCode

      public final int hashCode()
      Overrides:
      hashCode in class Object
    • equals

      public final boolean equals(Object obj)
      Overrides:
      equals in class Object
    • equalsBySdkFields

      public final boolean equalsBySdkFields(Object obj)
      Description copied from interface: SdkPojo
      Indicates whether some other object is "equal to" this one by SDK fields. An SDK field is a modeled, non-inherited field in an SdkPojo class, and is generated based on a service model.

      If an SdkPojo class does not have any inherited fields, equalsBySdkFields and equals are essentially the same.

      Specified by:
      equalsBySdkFields in interface SdkPojo
      Parameters:
      obj - the object to be compared with
      Returns:
      true if the other object equals to this object by sdk fields, false otherwise.
    • toString

      public final String toString()
      Returns a string representation of this object. This is useful for testing and debugging. Sensitive data will be redacted from this string using a placeholder value.
      Overrides:
      toString in class Object
    • getValueForField

      public final <T> Optional<T> getValueForField(String fieldName, Class<T> clazz)
    • sdkFields

      public final List<SdkField<?>> sdkFields()
      Specified by:
      sdkFields in interface SdkPojo
      Returns:
      List of SdkField in this POJO. May be empty list but should never be null.