AWSIoTDynamoDBAction

@interface AWSIoTDynamoDBAction

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

Required parameters: [tableName, roleArn, hashKeyField, hashKeyValue]

  • The hash key name.

    Declaration

    Objective-C

    @property (readwrite, strong, nonatomic) NSString *_Nullable hashKeyField;

    Swift

    var hashKeyField: String? { get set }
  • The hash key type. Valid values are “STRING” or “NUMBER”

    Declaration

    Objective-C

    @property (assign, readwrite, nonatomic) AWSIoTDynamoKeyType hashKeyType;

    Swift

    var hashKeyType: AWSIoTDynamoKeyType { get set }
  • The hash key value.

    Declaration

    Objective-C

    @property (readwrite, strong, nonatomic) NSString *_Nullable hashKeyValue;

    Swift

    var hashKeyValue: String? { get set }
  • 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.

    Declaration

    Objective-C

    @property (readwrite, strong, nonatomic) NSString *_Nullable operation;

    Swift

    var operation: String? { get set }
  • The action payload. This name can be customized.

    Declaration

    Objective-C

    @property (readwrite, strong, nonatomic) NSString *_Nullable payloadField;

    Swift

    var payloadField: String? { get set }
  • The range key name.

    Declaration

    Objective-C

    @property (readwrite, strong, nonatomic) NSString *_Nullable rangeKeyField;

    Swift

    var rangeKeyField: String? { get set }
  • The range key type. Valid values are “STRING” or “NUMBER”

    Declaration

    Objective-C

    @property (assign, readwrite, nonatomic) AWSIoTDynamoKeyType rangeKeyType;

    Swift

    var rangeKeyType: AWSIoTDynamoKeyType { get set }
  • The range key value.

    Declaration

    Objective-C

    @property (readwrite, strong, nonatomic) NSString *_Nullable rangeKeyValue;

    Swift

    var rangeKeyValue: String? { get set }
  • The ARN of the IAM role that grants access to the DynamoDB table.

    Declaration

    Objective-C

    @property (readwrite, strong, nonatomic) NSString *_Nullable roleArn;

    Swift

    var roleArn: String? { get set }
  • The name of the DynamoDB table.

    Declaration

    Objective-C

    @property (readwrite, strong, nonatomic) NSString *_Nullable tableName;

    Swift

    var tableName: String? { get set }