class Aws::DynamoDB::Types::BatchWriteItemInput

Represents the input of a `BatchWriteItem` operation.

@note When making an API call, you may pass BatchWriteItemInput

data as a hash:

    {
      request_items: { # required
        "TableName" => [
          {
            put_request: {
              item: { # required
                "AttributeName" => "value", # value <Hash,Array,String,Numeric,Boolean,IO,Set,nil>
              },
            },
            delete_request: {
              key: { # required
                "AttributeName" => "value", # value <Hash,Array,String,Numeric,Boolean,IO,Set,nil>
              },
            },
          },
        ],
      },
      return_consumed_capacity: "INDEXES", # accepts INDEXES, TOTAL, NONE
      return_item_collection_metrics: "SIZE", # accepts SIZE, NONE
    }

@!attribute [rw] request_items

A map of one or more table names and, for each table, a list of
operations to be performed (`DeleteRequest` or `PutRequest`). Each
element in the map consists of the following:

* `DeleteRequest` - Perform a `DeleteItem` operation on the
  specified item. The item to be deleted is identified by a `Key`
  subelement:

  * `Key` - A map of primary key attribute values that uniquely
    identify the item. Each entry in this map consists of an
    attribute name and an attribute value. For each primary key, you
    must provide *all* of the key attributes. For example, with a
    simple primary key, you only need to provide a value for the
    partition key. For a composite primary key, you must provide
    values for *both* the partition key and the sort key.

  ^

* `PutRequest` - Perform a `PutItem` operation on the specified
  item. The item to be put is identified by an `Item` subelement:

  * `Item` - A map of attributes and their values. Each entry in
    this map consists of an attribute name and an attribute value.
    Attribute values must not be null; string and binary type
    attributes must have lengths greater than zero; and set type
    attributes must not be empty. Requests that contain empty values
    are rejected with a `ValidationException` exception.

    If you specify any attributes that are part of an index key,
    then the data types for those attributes must match those of the
    schema in the table's attribute definition.
@return [Hash<String,Array<Types::WriteRequest>>]

@!attribute [rw] return_consumed_capacity

Determines the level of detail about provisioned throughput
consumption that is returned in the response:

* `INDEXES` - The response includes the aggregate `ConsumedCapacity`
  for the operation, together with `ConsumedCapacity` for each table
  and secondary index that was accessed.

  Note that some operations, such as `GetItem` and `BatchGetItem`,
  do not access any indexes at all. In these cases, specifying
  `INDEXES` will only return `ConsumedCapacity` information for
  table(s).

* `TOTAL` - The response includes only the aggregate
  `ConsumedCapacity` for the operation.

* `NONE` - No `ConsumedCapacity` details are included in the
  response.
@return [String]

@!attribute [rw] return_item_collection_metrics

Determines whether item collection metrics are returned. If set to
`SIZE`, the response includes statistics about item collections, if
any, that were modified during the operation are returned in the
response. If set to `NONE` (the default), no statistics are
returned.
@return [String]

@see docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/BatchWriteItemInput AWS API Documentation

Constants

SENSITIVE