Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Provide a high-level DynamoDB client #472

Closed
1 task
michaelbrewer opened this issue Dec 13, 2021 · 9 comments · Fixed by #1451
Closed
1 task

Provide a high-level DynamoDB client #472

michaelbrewer opened this issue Dec 13, 2021 · 9 comments · Fixed by #1451
Assignees
Labels
feature-request A feature should be added or improved. no-auto-closure We do not want this issue to be automatically closed.

Comments

@michaelbrewer
Copy link

michaelbrewer commented Dec 13, 2021

Describe the feature

Provide a high-level DynamoDB client which performs object-data mapping, similar to the DynamoDBMapper for the AWS SDK for Java.

Is your Feature Request related to a problem?

Loading and inserting values using the attribute values apis is tedious

Proposed Solution

see the existing aws java sdk v1 (or v2) DynamoDbMapper

Describe alternative solutions or features you've considered

No response

Acknowledge

  • I may be able to implement this feature request

AWS Kotlin SDK version used

all

Platform (JVM/JS/Native)

all

Operating System and version

all

@michaelbrewer michaelbrewer added feature-request A feature should be added or improved. needs-triage This issue or PR still needs to be triaged. labels Dec 13, 2021
@ianbotsf
Copy link
Contributor

Hi @michaelbrewer, thank you for the feature request. We'd definitely love to provide the equivalent of DynamoDbMapper in the future. I'll leave this request open to allow others to 👍 upvote and that may help us with prioritization.

@ianbotsf ianbotsf removed the needs-triage This issue or PR still needs to be triaged. label Dec 13, 2021
@ianbotsf ianbotsf changed the title Port DynamoDbMapper Provide a high-level DynamoDB client Dec 13, 2021
@ianbotsf
Copy link
Contributor

Additional context from #76:

We might be able to do this as a compiler plugin and generate rather optimized code so that we don't have to rely on annotation processing (which I believe is JVM only at the moment) OR on reflection capabilities.

See a good high level overview of considerations from rust SDK: awslabs/aws-sdk-rust#70

@popematt
Copy link

Another possibility might be to leverage kotlinx.serialization. I haven't looked into it too thoroughly yet, but it seems like it would be straightforward to convert classes to and from DynamoDB Json.

@randyhbh
Copy link

Any update on this issue?

@ianbotsf
Copy link
Contributor

We have no new updates to share at this time. Providing a high-level DynamoDB client remains on our roadmap but will likely not be prioritized until the underlying SDK itself (including the low-level DynamoDB client) is stable and released as 1.0.

@scmorse
Copy link

scmorse commented Oct 1, 2024

@ianbotsf Any updates on the priority / timeline for implementing an 'Enhanced' dynamodb client? 🙏

@ianbotsf
Copy link
Contributor

ianbotsf commented Oct 1, 2024

Yes, we are currently putting the finishing touches on a Dev Preview version of the high-level DynamoDB client, which will be called "DynamoDB Mapper". This version will have a subset of the full features expected in the final version and will not be recommended for use in production. But it should provide users an opportunity to test out the mapper implementation so far and give feedback on what works and what doesn't.

I can't commit to an exact date but we hope to release the Dev Preview in the coming weeks. When that happens, we'll announce it in several channels including this issue. We'll also add some documentation to our Developer Guide to explain the basics and get people started. It's been a long journey to get to this point where we could release a DynamoDB high-level library and we're as eager as you are to get this out for people to use. Thanks for your patience!

Copy link

⚠️COMMENT VISIBILITY WARNING⚠️

Comments on closed issues are hard for our team to see.
If you need more assistance, please either tag a team member or open a new issue that references this one.
If you wish to keep having a conversation with other community members under this issue feel free to do so.

@ianbotsf
Copy link
Contributor

📣 The Developer Preview of DynamoDB Mapper for Kotlin is now available! Please check it out and let us know what you think.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
feature-request A feature should be added or improved. no-auto-closure We do not want this issue to be automatically closed.
Projects
Development

Successfully merging a pull request may close this issue.

5 participants