Amazon.DynamoDBv2.AmazonDynamoDBClient.UpdateItem C# (CSharp) Method

UpdateItem() public method

Edits an existing item's attributes, or adds a new item to the table if it does not already exist. You can put, delete, or add attribute values. You can also perform a conditional update on an existing item (insert a new attribute name-value pair if it doesn't exist, or replace an existing name-value pair if it has certain expected attribute values).

You can also return the item's attribute values in the same UpdateItem operation using the ReturnValues parameter.

/// A condition specified in the operation could not be evaluated. /// /// An error occurred on the server side. /// /// An item collection is too large. This exception is only returned for tables that have /// one or more local secondary indexes. /// /// Your request rate is too high. The AWS SDKs for DynamoDB automatically retry requests /// that receive this exception. Your request is eventually successful, unless your retry /// queue is too large to finish. Reduce the frequency of requests and use exponential /// backoff. For more information, go to Error /// Retries and Exponential Backoff in the Amazon DynamoDB Developer Guide. /// /// The operation tried to access a nonexistent table or index. The resource might not /// be specified correctly, or its status might not be ACTIVE. ///
public UpdateItem ( UpdateItemRequest request ) : UpdateItemResponse
request Amazon.DynamoDBv2.Model.UpdateItemRequest Container for the necessary parameters to execute the UpdateItem service method.
return Amazon.DynamoDBv2.Model.UpdateItemResponse
        public UpdateItemResponse UpdateItem(UpdateItemRequest request)
        {
            var marshaller = new UpdateItemRequestMarshaller();
            var unmarshaller = UpdateItemResponseUnmarshaller.Instance;

            return Invoke<UpdateItemRequest,UpdateItemResponse>(request, marshaller, unmarshaller);
        }

Same methods

AmazonDynamoDBClient::UpdateItem ( string tableName, AttributeValue>.Dictionary key, AttributeValueUpdate>.Dictionary attributeUpdates ) : UpdateItemResponse
AmazonDynamoDBClient::UpdateItem ( string tableName, AttributeValue>.Dictionary key, AttributeValueUpdate>.Dictionary attributeUpdates, ReturnValue returnValues ) : UpdateItemResponse

Usage Example

        private static void ConditionalWriteSample(AmazonDynamoDBClient client)
        {
            Table table = Table.LoadTable(client, "Actors");
            Document d = table.GetItem("Christian Bale");

            int version = d["Version"].AsInt();
            double height = d["Height"].AsDouble();

            Console.WriteLine("Retrieved Item Version #" + version.ToString());

            var request = new UpdateItemRequest
            {
                Key = new Dictionary<string, AttributeValue>() { { "Name", new AttributeValue { S = "Christian Bale" } } },
                ExpressionAttributeNames = new Dictionary<string, string>()
                {
                    {"#H", "Height"},
                    {"#V", "Version"}
                },
                ExpressionAttributeValues = new Dictionary<string, AttributeValue>()
                {
                    {":ht", new AttributeValue{N=(height+.01).ToString()}},
                    {":incr", new AttributeValue{N="1"}},
                    {":v", new AttributeValue{N=version.ToString()}}
                },
                UpdateExpression = "SET #V = #V + :incr, #H = :ht",
                ConditionExpression = "#V = :v",
                TableName = "Actors"
            };

            try
            {
                Console.ReadKey();
                var response = client.UpdateItem(request);
                Console.WriteLine("Updated succeeded.");
            }
            catch (Exception ex)
            {
                Console.WriteLine("Update failed. " + ex.Message);
            }

            Console.ReadKey();
        }
All Usage Examples Of Amazon.DynamoDBv2.AmazonDynamoDBClient::UpdateItem