Update Multiple Attributes in DynamoDB Using Java (Guide w/ Code Examples)

You can use the UpdateItemRequest class the DynamoDB SDK offers to update an item in DynamoDB. To update multiple attributes, you can define multiple attributes in the attributeUpdate().

Here, the values for the attributes attribute1 and attribute2 are updated for an item in a DynamoDB table. The primary key for the item is specified as "id" with a value of "12345". The AttributeValueUpdate objects contain the new values for the attributes, and the AttributeAction.PUT action tells DynamoDB to set the attribute to the specified value. Alternatively, you can use other attribute actions such as ADD or DELETE to perform different types of updates.

import software.amazon.awssdk.services.dynamodb.DynamoDbClient; import software.amazon.awssdk.services.dynamodb.model.AttributeValue; import software.amazon.awssdk.services.dynamodb.model.UpdateItemRequest; import java.util.HashMap; import java.util.Map; public class UpdateMultipleAttributes { public static void main(String[] args) { DynamoDbClient ddb = DynamoDbClient.create(); String tableName = "my-table"; String keyAttributeName = "id"; String keyAttributeValue = "12345"; Map<String, AttributeValue> key = new HashMap<>(); key.put(keyAttributeName, AttributeValue.builder().s(keyAttributeValue).build()); Map<String, AttributeValueUpdate> attributeUpdates = new HashMap<>(); attributeUpdates.put("attribute1", AttributeValueUpdate.builder() .value(AttributeValue.builder().s("new value").build()) .action(AttributeAction.PUT).build()); attributeUpdates.put("attribute2", AttributeValueUpdate.builder() .value(AttributeValue.builder().s("new value").build()) .action(AttributeAction.PUT).build()); UpdateItemRequest request = UpdateItemRequest.builder() .tableName(tableName) .key(key) .attributeUpdates(attributeUpdates) .build(); ddb.updateItem(request); } }

Login to the AWS Console less. Use Dynobase.

Try 7-day free trial. No strings attached.

Product Features

Member Portal
© 2023 Dynobase
Still using AWS DynamoDB Console?
Try Dynobase to accelerate your DynamoDB workflow. Start your 7-day free trial today.