Switching DynamoDB scan to FilterExpression #55
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
So far the DynamoDB implementation was using the ScanFilter implementation of DynamoDB to scan tables and find objects based on queries.
This produces issues though once you want to scan for nested attributes in an object as ScanFilter is only able to perform a full equality check on objects of type "Map".
Amazon instead recommends to use FilterExpressions instead and ScanFilter has been indicated to be "legacy".
Details on the differences are provided here: http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/LegacyConditionalParameters.ScanFilter.html
With this PR scanning for nested objects in a DynamoDB should be possible and - for future implementations - more flexible as it can be extended to support more types of search queries.