feat: Adds TableBuilder, which can be used to prepopulate the internal metadata cache used by the document and object-mapper DynamoDB programming models #3055
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.
Description
This is an approach that partially addresses #1476.
Users can use the new
TableBuilder
to populate the internal SDK cache of table structures that drive the DynamoDB document and object-mapper programming models.Table.Load
, callnew TableBuilder().<table info>.Build()
context.RegisterTableDefinition(<Table>);
Looking for feedback on: The SDK uses "hash"/"range" in existing structures, as opposed to "partition"/"sort" key, which seem to be used more heavily in DynamoDB documentation. Let me know your thoughts on naming for public methods and arguments in
ITableBuilder
.Motivation and Context
This allows users to pre-populate the internal cache, which prevents the internal
DescribeTable
call the SDK makes. This avoids the sync-over-async issues discussed in #1476.Testing
TableBuilder
TableBuilder
Types of changes
Checklist
License