Add support for update expressions when using the enhanced Dynamo client
See original GitHub issueThe non-enhanced Dynamo client supports atomic attribute incrementing as provided by the UpdateItemRequest.updateExpression. By contrast the enhanced Dynamo client’s UpdateItemEnhancedRequest requires the entire item be provided in order to fully overwrite an existing row. No attribute incrementing supported.
This lack of feature parity leads to situations where the enhanced and non-enhanced clients usage are intermixed in a single project, or even a single class/method.
Describe the Feature
The enhanced Dynamo client should support taking update requests that allow for atomic attribute incrementing, same as the non-enhanced client supports.
Is your Feature Request related to a problem?
Mixing usage of enhanced and non-enhanced Dynamo client usage in a single class/method leads to messier code. Developers will assume that by adopting the enhanced client it should make their interactions with Dynamo simpler, but that isn’t the case in all situations.
Proposed Solution
UpdateItemEnhancedRequestshould be further enhanced to support update expressions.- Or the enhanced Dynamo client can be updated to take either an
UpdateItemEnhancedRequestor anUpdateItemRequestobject.
Describe alternatives you’ve considered
At this time I either need to ditch use of the enhanced client altogether, or use both clients and add comments to explain why this is necessary.
Additional Context
Ideally, whatever the solution is, would allow me to use the enhanced version of the Dynamo client for all use cases.
Your Environment
- AWS Java SDK version used: v2
- JDK version used: n/a
- Operating System and version: n/a
Issue Analytics
- State:
- Created 3 years ago
- Reactions:58
- Comments:23 (5 by maintainers)

Top Related StackOverflow Question
+1 to implement this issue
Update expressions and atomic counter for DynamoDB Enhanced Client are now available, starting in Java SDK version
2.17.194.Check out our blog post showing how to use: https://aws.amazon.com/blogs/developer/using-atomic-counters-in-the-enhanced-dynamodb-aws-sdk-for-java-2-x-client/