public UpdateItem ( |
||
request | Container for the necessary parameters to execute the UpdateItem service method. | |
return |
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(); }
public void CRUDSamples() { EnsureTables(); PutSample(); { #region GetItem Sample // Create a client AmazonDynamoDBClient client = new AmazonDynamoDBClient(); // Define item key // Hash-key of the target item is string value "Mark Twain" // Range-key of the target item is string value "The Adventures of Tom Sawyer" Dictionary<string, AttributeValue> key = new Dictionary<string, AttributeValue> { { "Author", new AttributeValue { S = "Mark Twain" } }, { "Title", new AttributeValue { S = "The Adventures of Tom Sawyer" } } }; // Create GetItem request GetItemRequest request = new GetItemRequest { TableName = "SampleTable", Key = key, }; // Issue request var result = client.GetItem(request); // View response Console.WriteLine("Item:"); Dictionary<string, AttributeValue> item = result.Item; foreach (var keyValuePair in item) { Console.WriteLine("{0} : S={1}, N={2}, SS=[{3}], NS=[{4}]", keyValuePair.Key, keyValuePair.Value.S, keyValuePair.Value.N, string.Join(", ", keyValuePair.Value.SS ?? new List<string>()), string.Join(", ", keyValuePair.Value.NS ?? new List<string>())); } #endregion } { #region UpdateItem Sample // Create a client AmazonDynamoDBClient client = new AmazonDynamoDBClient(); // Define item key // Hash-key of the target item is string value "Mark Twain" // Range-key of the target item is string value "The Adventures of Tom Sawyer" Dictionary<string, AttributeValue> key = new Dictionary<string, AttributeValue> { { "Author", new AttributeValue { S = "Mark Twain" } }, { "Title", new AttributeValue { S = "The Adventures of Tom Sawyer" } } }; // Define attribute updates Dictionary<string, AttributeValueUpdate> updates = new Dictionary<string, AttributeValueUpdate>(); // Update item's Setting attribute updates["Setting"] = new AttributeValueUpdate() { Action = AttributeAction.PUT, Value = new AttributeValue { S = "St. Petersburg, Missouri" } }; // Remove item's Bibliography attribute updates["Bibliography"] = new AttributeValueUpdate() { Action = AttributeAction.DELETE }; // Add a new string to the item's Genres SS attribute updates["Genres"] = new AttributeValueUpdate() { Action = AttributeAction.ADD, Value = new AttributeValue { SS = new List<string> { "Bildungsroman" } } }; // Create UpdateItem request UpdateItemRequest request = new UpdateItemRequest { TableName = "SampleTable", Key = key, AttributeUpdates = updates }; // Issue request client.UpdateItem(request); #endregion } { #region DeleteItem Sample // Create a client AmazonDynamoDBClient client = new AmazonDynamoDBClient(); // Define item key // Hash-key of the target item is string value "Mark Twain" // Range-key of the target item is string value "The Adventures of Tom Sawyer" Dictionary<string, AttributeValue> key = new Dictionary<string, AttributeValue> { { "Author", new AttributeValue { S = "Mark Twain" } }, { "Title", new AttributeValue { S = "The Adventures of Tom Sawyer" } } }; // Create DeleteItem request DeleteItemRequest request = new DeleteItemRequest { TableName = "SampleTable", Key = key }; // Issue request client.DeleteItem(request); #endregion } }
public virtual void UpdateIfMatch(AmazonDynamoDBClient ddbClient, string tableName, string email, string company, string firstNameTarget, string firstNameMatch) { // Build the request var updateItemRequest = new UpdateItemRequest { TableName = tableName, Key = new Dictionary<string, AttributeValue> { {"Company", new AttributeValue {S = company}}, {"Email", new AttributeValue {S = email}} }, Expected = new Dictionary<string, ExpectedAttributeValue> { {"First", new ExpectedAttributeValue {Value = new AttributeValue {S = firstNameMatch}}} }, AttributeUpdates = new Dictionary<string, AttributeValueUpdate> { { "First", new AttributeValueUpdate {Action = "PUT", Value = new AttributeValue {S = firstNameTarget}} } } }; // Submit request ddbClient.UpdateItem(updateItemRequest); }