You are viewing documentation for version 3 of the AWS SDK for Ruby. Version 2 documentation can be found here.

Class: Aws::IoT::Types::DynamoDBAction

Inherits:
Struct
  • Object
show all
Defined in:
gems/aws-sdk-iot/lib/aws-sdk-iot/types.rb

Overview

Note:

When making an API call, you may pass DynamoDBAction data as a hash:

{
  table_name: "TableName", # required
  role_arn: "AwsArn", # required
  operation: "DynamoOperation",
  hash_key_field: "HashKeyField", # required
  hash_key_value: "HashKeyValue", # required
  hash_key_type: "STRING", # accepts STRING, NUMBER
  range_key_field: "RangeKeyField",
  range_key_value: "RangeKeyValue",
  range_key_type: "STRING", # accepts STRING, NUMBER
  payload_field: "PayloadField",
}

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

Instance Attribute Summary collapse

Instance Attribute Details

#hash_key_fieldString

The hash key name.

Returns:

  • (String)


2619
2620
2621
2622
2623
2624
2625
2626
2627
2628
2629
2630
2631
# File 'gems/aws-sdk-iot/lib/aws-sdk-iot/types.rb', line 2619

class DynamoDBAction < Struct.new(
  :table_name,
  :role_arn,
  :operation,
  :hash_key_field,
  :hash_key_value,
  :hash_key_type,
  :range_key_field,
  :range_key_value,
  :range_key_type,
  :payload_field)
  include Aws::Structure
end

#hash_key_typeString

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

Returns:

  • (String)


2619
2620
2621
2622
2623
2624
2625
2626
2627
2628
2629
2630
2631
# File 'gems/aws-sdk-iot/lib/aws-sdk-iot/types.rb', line 2619

class DynamoDBAction < Struct.new(
  :table_name,
  :role_arn,
  :operation,
  :hash_key_field,
  :hash_key_value,
  :hash_key_type,
  :range_key_field,
  :range_key_value,
  :range_key_type,
  :payload_field)
  include Aws::Structure
end

#hash_key_valueString

The hash key value.

Returns:

  • (String)


2619
2620
2621
2622
2623
2624
2625
2626
2627
2628
2629
2630
2631
# File 'gems/aws-sdk-iot/lib/aws-sdk-iot/types.rb', line 2619

class DynamoDBAction < Struct.new(
  :table_name,
  :role_arn,
  :operation,
  :hash_key_field,
  :hash_key_value,
  :hash_key_type,
  :range_key_field,
  :range_key_value,
  :range_key_type,
  :payload_field)
  include Aws::Structure
end

#operationString

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.

Returns:

  • (String)


2619
2620
2621
2622
2623
2624
2625
2626
2627
2628
2629
2630
2631
# File 'gems/aws-sdk-iot/lib/aws-sdk-iot/types.rb', line 2619

class DynamoDBAction < Struct.new(
  :table_name,
  :role_arn,
  :operation,
  :hash_key_field,
  :hash_key_value,
  :hash_key_type,
  :range_key_field,
  :range_key_value,
  :range_key_type,
  :payload_field)
  include Aws::Structure
end

#payload_fieldString

The action payload. This name can be customized.

Returns:

  • (String)


2619
2620
2621
2622
2623
2624
2625
2626
2627
2628
2629
2630
2631
# File 'gems/aws-sdk-iot/lib/aws-sdk-iot/types.rb', line 2619

class DynamoDBAction < Struct.new(
  :table_name,
  :role_arn,
  :operation,
  :hash_key_field,
  :hash_key_value,
  :hash_key_type,
  :range_key_field,
  :range_key_value,
  :range_key_type,
  :payload_field)
  include Aws::Structure
end

#range_key_fieldString

The range key name.

Returns:

  • (String)


2619
2620
2621
2622
2623
2624
2625
2626
2627
2628
2629
2630
2631
# File 'gems/aws-sdk-iot/lib/aws-sdk-iot/types.rb', line 2619

class DynamoDBAction < Struct.new(
  :table_name,
  :role_arn,
  :operation,
  :hash_key_field,
  :hash_key_value,
  :hash_key_type,
  :range_key_field,
  :range_key_value,
  :range_key_type,
  :payload_field)
  include Aws::Structure
end

#range_key_typeString

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

Returns:

  • (String)


2619
2620
2621
2622
2623
2624
2625
2626
2627
2628
2629
2630
2631
# File 'gems/aws-sdk-iot/lib/aws-sdk-iot/types.rb', line 2619

class DynamoDBAction < Struct.new(
  :table_name,
  :role_arn,
  :operation,
  :hash_key_field,
  :hash_key_value,
  :hash_key_type,
  :range_key_field,
  :range_key_value,
  :range_key_type,
  :payload_field)
  include Aws::Structure
end

#range_key_valueString

The range key value.

Returns:

  • (String)


2619
2620
2621
2622
2623
2624
2625
2626
2627
2628
2629
2630
2631
# File 'gems/aws-sdk-iot/lib/aws-sdk-iot/types.rb', line 2619

class DynamoDBAction < Struct.new(
  :table_name,
  :role_arn,
  :operation,
  :hash_key_field,
  :hash_key_value,
  :hash_key_type,
  :range_key_field,
  :range_key_value,
  :range_key_type,
  :payload_field)
  include Aws::Structure
end

#role_arnString

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

Returns:

  • (String)


2619
2620
2621
2622
2623
2624
2625
2626
2627
2628
2629
2630
2631
# File 'gems/aws-sdk-iot/lib/aws-sdk-iot/types.rb', line 2619

class DynamoDBAction < Struct.new(
  :table_name,
  :role_arn,
  :operation,
  :hash_key_field,
  :hash_key_value,
  :hash_key_type,
  :range_key_field,
  :range_key_value,
  :range_key_type,
  :payload_field)
  include Aws::Structure
end

#table_nameString

The name of the DynamoDB table.

Returns:

  • (String)


2619
2620
2621
2622
2623
2624
2625
2626
2627
2628
2629
2630
2631
# File 'gems/aws-sdk-iot/lib/aws-sdk-iot/types.rb', line 2619

class DynamoDBAction < Struct.new(
  :table_name,
  :role_arn,
  :operation,
  :hash_key_field,
  :hash_key_value,
  :hash_key_type,
  :range_key_field,
  :range_key_value,
  :range_key_type,
  :payload_field)
  include Aws::Structure
end