action property
Specifies how to perform the update. Valid values are PUT
(default), DELETE
, and ADD
. The behavior depends
on whether the specified primary key already exists in the table.
If an item with the specified Key is found in the table:
-
PUT
- Adds the specified attribute to the item. If the attribute already exists, it is replaced by the new value. -
DELETE
- If no value is specified, the attribute and its value are removed from the item. The data type of the specified value must match the existing value's data type.If a set of values is specified, then those values are subtracted from the old set. For example, if the attribute value was the set
and thea,b,c
DELETE
action specified
, then the final attribute value would bea,c
. Specifying an empty set is an error.b
-
ADD
- If the attribute does not already exist, then the attribute and its values are added to the item. If the attribute does exist, then the behavior ofADD
depends on the data type of the attribute:-
If the existing attribute is a number, and if
Value
is also a number, then theValue
is mathematically added to the existing attribute. IfValue
is a negative number, then it is subtracted from the existing attribute. -
If the existing data type is a set, and if the
Value
is also a set, then theValue
is added to the existing set. (This is a set operation, not mathematical addition.) For example, if the attribute value was the set[1,2]
, and theADD
action specified[3]
, then the final attribute value would be[1,2,3]
. An error occurs if an Add action is specified for a set attribute and the attribute type specified does not match the existing set type.Both sets must have the same primitive data type. For example, if the existing data type is a set of strings, the
Value
must also be a set of strings. The same holds true for number sets and binary sets.
ADD
for any other data types. -
If the existing attribute is a number, and if
-
PUT
- DynamoDB creates a new item with the specified primary key, and then adds the attribute. -
DELETE
- Nothing happens; there is no attribute to delete. -
ADD
- DynamoDB creates an item with the supplied primary key and number (or set of numbers) for the attribute value. The only data types allowed are number and number set; no other data types can be specified.
Implementation
final AttributeAction? action;