AWS services or capabilities described in AWS Documentation may vary by region/location. Click Getting Started with Amazon AWS to see specific differences applicable to the China (Beijing) Region.
Update-DDBItem-Key <Hashtable>-AttributeUpdate <Hashtable>-ConditionalOperator <ConditionalOperator>-ConditionExpression <String>-Expected <Hashtable>-ExpressionAttributeName <Hashtable>-ExpressionAttributeValue <Hashtable>-ReturnConsumedCapacity <ReturnConsumedCapacity>-ReturnItemCollectionMetric <ReturnItemCollectionMetrics>-ReturnValue <ReturnValue>-ReturnValuesOnConditionCheckFailure <ReturnValuesOnConditionCheckFailure>-TableName <String>-UpdateExpression <String>-Select <String>-PassThru <SwitchParameter>-Force <SwitchParameter>-ClientConfig <AmazonDynamoDBConfig>
UpdateItem
operation using the ReturnValues
parameter. UpdateExpression
instead. For more information, see AttributeUpdates in the Amazon DynamoDB Developer Guide. Required? | False |
Position? | Named |
Accept pipeline input? | True (ByPropertyName) |
Aliases | AttributeUpdates |
Required? | False |
Position? | Named |
Accept pipeline input? | True (ByPropertyName) |
ConditionExpression
instead. For more information, see ConditionalOperator in the Amazon DynamoDB Developer Guide. Required? | False |
Position? | Named |
Accept pipeline input? | True (ByPropertyName) |
attribute_exists | attribute_not_exists | attribute_type | contains | begins_with | size
These function names are case-sensitive.= | <> | < | > | <= | >= | BETWEEN | IN
AND | OR | NOT
Required? | False |
Position? | Named |
Accept pipeline input? | True (ByPropertyName) |
ConditionExpression
instead. For more information, see Expected in the Amazon DynamoDB Developer Guide. Required? | False |
Position? | Named |
Accept pipeline input? | True (ByPropertyName) |
ExpressionAttributeNames
:Percentile
ExpressionAttributeNames
:{"#P":"Percentile"}
#P = :val
Required? | False |
Position? | Named |
Accept pipeline input? | True (ByPropertyName) |
Aliases | ExpressionAttributeNames |
ProductStatus
attribute was one of the following: Available | Backordered | Discontinued
You would first need to specify ExpressionAttributeValues
as follows:{ ":avail":{"S":"Available"}, ":back":{"S":"Backordered"}, ":disc":{"S":"Discontinued"} }
You could then use these values in an expression, such as this:ProductStatus IN (:avail, :back, :disc)
For more information on expression attribute values, see Condition Expressions in the Amazon DynamoDB Developer Guide. Required? | False |
Position? | Named |
Accept pipeline input? | True (ByPropertyName) |
Aliases | ExpressionAttributeValues |
Required? | False |
Position? | Named |
Accept pipeline input? | True (ByPropertyName) |
Required? | True |
Position? | 1 |
Accept pipeline input? | True (ByValue, ByPropertyName) |
Required? | False |
Position? | Named |
Accept pipeline input? | True (ByPropertyName) |
Required? | False |
Position? | Named |
Accept pipeline input? | True (ByPropertyName) |
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. Required? | False |
Position? | Named |
Accept pipeline input? | True (ByPropertyName) |
Aliases | ReturnItemCollectionMetrics |
ReturnValues
if you want to get the item attributes as they appear before or after they are successfully updated. For UpdateItem
, the valid values are:NONE
- If ReturnValues
is not specified, or if its value is NONE
, then nothing is returned. (This setting is the default for ReturnValues
.)ALL_OLD
- Returns all of the attributes of the item, as they appeared before the UpdateItem operation.UPDATED_OLD
- Returns only the updated attributes, as they appeared before the UpdateItem operation.ALL_NEW
- Returns all of the attributes of the item, as they appear after the UpdateItem operation.UPDATED_NEW
- Returns only the updated attributes, as they appear after the UpdateItem operation.Required? | False |
Position? | Named |
Accept pipeline input? | True (ByPropertyName) |
Aliases | ReturnValues |
UpdateItem
operation that failed a condition check.There is no additional cost associated with requesting a return value aside from the small network and processing overhead of receiving a larger response. No read capacity units are consumed. Required? | False |
Position? | Named |
Accept pipeline input? | True (ByPropertyName) |
Required? | False |
Position? | Named |
Accept pipeline input? | True (ByPropertyName) |
Required? | True |
Position? | Named |
Accept pipeline input? | True (ByPropertyName) |
UpdateExpression
.SET
- Adds one or more attributes and values to an item. If any of these attributes already exist, they are replaced by the new values. You can also use SET
to add or subtract from an attribute that is of type Number. For example: SET myNum = myNum + :val
SET
supports the following functions:if_not_exists (path, operand)
- if the item does not contain an attribute at the specified path, then if_not_exists
evaluates to operand; otherwise, it evaluates to path. You can use this function to avoid overwriting an attribute that may already be present in the item.list_append (operand, operand)
- evaluates to a list with a new element added to it. You can append the new element to the start or the end of the list by reversing the order of the operands.REMOVE
- Removes one or more attributes from an item.ADD
- Adds the specified value to the item, if the attribute does not already exist. If the attribute does exist, then the behavior of ADD
depends on the data type of the attribute:Value
is also a number, then Value
is mathematically added to the existing attribute. If Value
is a negative number, then it is subtracted from the existing attribute.If you use ADD
to increment or decrement a number value for an item that doesn't exist before the update, DynamoDB uses 0
as the initial value.Similarly, if you use ADD
for an existing item to increment or decrement an attribute value that doesn't exist before the update, DynamoDB uses 0
as the initial value. For example, suppose that the item you want to update doesn't have an attribute named itemcount
, but you decide to ADD
the number 3
to this attribute anyway. DynamoDB will create the itemcount
attribute, set its initial value to 0
, and finally add 3
to it. The result will be a new itemcount
attribute in the item, with a value of 3
.Value
is also a set, then Value
is added to the existing set. For example, if the attribute value is the set [1,2]
, and the ADD
action specified [3]
, then the final attribute value is [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.ADD
action only supports Number and set data types. In addition, ADD
can only be used on top-level attributes, not nested attributes.DELETE
- Deletes an element from a set.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 [a,b,c]
and the DELETE
action specifies [a,c]
, then the final attribute value is [b]
. Specifying an empty set is an error.DELETE
action only supports set data types. In addition, DELETE
can only be used on top-level attributes, not nested attributes.SET a=:value1, b=:value2 DELETE :value3, :value4, :value5
For more information on update expressions, see Modifying Items and Attributes in the Amazon DynamoDB Developer Guide. Required? | False |
Position? | Named |
Accept pipeline input? | True (ByPropertyName) |
Required? | False |
Position? | Named |
Accept pipeline input? | True (ByPropertyName) |
Aliases | AK |
Required? | False |
Position? | Named |
Accept pipeline input? | True (ByValue, ByPropertyName) |
Required? | False |
Position? | Named |
Accept pipeline input? | True (ByPropertyName) |
Required? | False |
Position? | Named |
Accept pipeline input? | True (ByValue, ByPropertyName) |
Required? | False |
Position? | Named |
Accept pipeline input? | True (ByPropertyName) |
Aliases | AWSProfilesLocation, ProfilesLocation |
Required? | False |
Position? | Named |
Accept pipeline input? | True (ByPropertyName) |
Aliases | StoredCredentials, AWSProfileName |
Required? | False |
Position? | Named |
Accept pipeline input? | True (ByPropertyName) |
Aliases | RegionToCall |
Required? | False |
Position? | Named |
Accept pipeline input? | True (ByPropertyName) |
Aliases | SK, SecretAccessKey |
Required? | False |
Position? | Named |
Accept pipeline input? | True (ByPropertyName) |
Aliases | ST |
$key = @{
SongTitle = 'Somewhere Down The Road'
Artist = 'No One You Know'
} | ConvertTo-DDBItem
$updateDdbItem = @{
TableName = 'Music'
Key = $key
UpdateExpression = 'set Genre = :val1'
ExpressionAttributeValue = (@{
':val1' = ([Amazon.DynamoDBv2.Model.AttributeValue]'Rap')
})
}
Update-DDBItem @updateDdbItem
Name Value
---- -----
Genre Rap
Sets the genre attribute to 'Rap' on the DynamoDB item with the partition key SongTitle and the sort key Artist.
AWS Tools for PowerShell: 2.x.y.z