Module Values_0.DynamoDBActionSource

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

Sourcetype nonrec t = {
  1. tableName : TableName.t;
    (*

    The name of the DynamoDB table.

    *)
  2. roleArn : AwsArn.t;
    (*

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

    *)
  3. operation : DynamoOperation.t option;
    (*

    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.

    *)
  4. hashKeyField : HashKeyField.t;
    (*

    The hash key name.

    *)
  5. hashKeyValue : HashKeyValue.t;
    (*

    The hash key value.

    *)
  6. hashKeyType : DynamoKeyType.t option;
    (*

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

    *)
  7. rangeKeyField : RangeKeyField.t option;
    (*

    The range key name.

    *)
  8. rangeKeyValue : RangeKeyValue.t option;
    (*

    The range key value.

    *)
  9. rangeKeyType : DynamoKeyType.t option;
    (*

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

    *)
  10. payloadField : PayloadField.t option;
    (*

    The action payload. This name can be customized.

    *)
}
Sourceval context_ : string
Sourceval make : ?operation:??? -> ?hashKeyType:??? -> ?rangeKeyField:??? -> ?rangeKeyValue:??? -> ?rangeKeyType:??? -> ?payloadField:??? -> tableName:TableName.t -> roleArn:AwsArn.t -> hashKeyField:HashKeyField.t -> hashKeyValue:HashKeyValue.t -> unit -> t
Sourceval to_value : t -> [> `Structure of (string * [> `Enum of string | `String of TableName.t ]) list ]
Sourceval to_query : t -> Awso.Client.Query.t
Sourceval of_xml : Awso.Xml.t -> t
Sourceval of_string : string -> t
Sourceval of_json : Yojson.Safe.t -> t
Sourceval to_json : t -> Yojson.Safe.t