class Aws::DynamoDB::Types::AttributeValueUpdate


@see docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/AttributeValueUpdate AWS API Documentation
@return [String]
be specified.
types allowed are number and number set; no other data types can
number (or set of numbers) for the attribute value. The only data
* ‘ADD` - DynamoDB creates an item with the supplied primary key and
* `DELETE` - Nothing happens; there is no attribute to delete.
key, and then adds the attribute.
* `PUT` - DynamoDB creates a new item with the specified primary
**If no item with the specified Key is found:**
types.
type is number or is a set. Do not use `ADD` for any other data
This action is only valid for an existing attribute whose data
and binary sets.
also be a set of strings. The same holds true for number sets
if the existing data type is a set of strings, the `Value` must
Both sets must have the same primitive data type. For example,
the existing set type.
set attribute and the attribute type specified does not match<br>``. An error occurs if an Add action is specified for a
specified `[3]`, then the final attribute value would be
attribute value was the set `[1,2]`, and the `ADD` action
set operation, not mathematical addition.) For example, if the
set, then the `Value` is added to the existing set. (This is a
* If the existing data type is a set, and if the `Value` is also a
</note>
value of `3`.
result will be a new itemcount attribute in the item, with a
set its initial value to `0`, and finally add `3` to it. The
does not exist. DynamoDB will create the itemcount attribute,
number `3` to this attribute anyway, even though it currently
have an attribute named itemcount, but you decide to `ADD` the
example, suppose that the item you want to update does not yet
not yet exist, DynamoDB uses `0` as the initial value. For
intend to increment or decrement an attribute value which does
In addition, if you use `ADD` to update an existing item, and
the initial value.
item that doesn’t exist before the update, DynamoDB uses 0 as
<note markdown=“1”> If you use ‘ADD` to increment or decrement a number value for an
subtracted from the existing attribute.
attribute. If `Value` is a negative number, then it is
number, then the `Value` is mathematically added to the existing
* If the existing attribute is a number, and if `Value` is also a
the attribute:
does exist, then the behavior of `ADD` depends on the data type of
attribute and its values are added to the item. If the attribute
* `ADD` - If the attribute does not already exist, then the
set is an error.
then the final attribute value would be `[b]`. Specifying an empty
was the set `[a,b,c]` and the `DELETE` action specified `[a,c]`,
subtracted from the old set. For example, if the attribute value
If a set of values is specified, then those values are
must match the existing value’s data type.
are removed from the item. The data type of the specified value
* ‘DELETE` - If no value is specified, the attribute and its value
already exists, it is replaced by the new value.
* `PUT` - Adds the specified attribute to the item. If the attribute
**If an item with the specified Key is found in the table:**
specified primary key already exists in the table.
(default), `DELETE`, and `ADD`. The behavior depends on whether the
Specifies how to perform the update. Valid values are `PUT`
@!attribute [rw] action
@return [Types::AttributeValue]<br>: docs.aws.amazon.com/amazondynamodb/latest/developerguide/HowItWorks.NamingRulesDataTypes.html#HowItWorks.DataTypes<br><br><br><br>Developer Guide*.
For more information, see [Data TYpes] in the *Amazon DynamoDB
the data type, and the value is the data itself.
Each attribute value is described as a name-value pair. The name is
Represents the data for an attribute.
@!attribute [rw] value
}
action: “ADD”, # accepts ADD, PUT, DELETE
value: “value”, # value <Hash,Array,String,Numeric,Boolean,IO,Set,nil>
{
data as a hash:
@note When making an API call, you may pass AttributeValueUpdate
`ValidationException` exception.
be empty. Requests with empty values will be rejected with a
must have lengths greater than zero; and set type attributes must not
Attribute values cannot be null; string and binary type attributes
</note>
create a new item with new attributes.
Instead, you will need to delete the item, and then use `PutItem` to
<note markdown=“1”> You cannot use `UpdateItem` to update any primary key attributes.
modified, the action to perform on each, and the new value for each.
For the `UpdateItem` operation, represents the attributes to be