Native AOT support for DynamoDB #3194
Replies: 9 comments 3 replies
-
I agree, I would really want this feature to be able to reduce lambda startup time. |
Beta Was this translation helpful? Give feedback.
-
It's 2024 and still DynamoDB high level API doesn't support .NET AOT. It's fundamental to know that for a lot of companies/devs. For example, because of this, we don't know if keeping using .NET AOT or not. |
Beta Was this translation helpful? Give feedback.
-
Getting the DynamoDB high level libraries to support Native AOT trimming is a large effort. We would like to do it but between all of our other work to keep up with AWS we haven't started this effort. I do appreciate the upvotes and letting us know how important this feature is for you all. It really helps with the argument to prioritize the work. |
Beta Was this translation helpful? Give feedback.
-
Thanks @normj. Based on my limited use of DocumentModel, it doesn't 'feel' very reflection-heavy. Do we know if it's viable to just disable trimming for this library for now? |
Beta Was this translation helpful? Give feedback.
-
@jamiewinder That is good to know you are using DocumentModel. The DataModel that uses POCOs is where a lot of the work is. Maybe we could try and do the DocumentModel first. To get around this can add a trimming descriptor file to your project to tell it to preserve all in the DynamoDB assembly. If you are using the DataModel you also need to add the assembly that has the POCOs uses by the DataModel. https://github.com/dotnet/runtime/blob/main/docs/tools/illink/data-formats.md#descriptor-format |
Beta Was this translation helpful? Give feedback.
-
@normj Where do I find a .NET 8, .NET 9 SAM Lambda AOT roadmap, please? We are planning for our Digital Agent Speech Engine and need to know what directions to take and what will be available in the next 6, 12 month. Technologies used:
|
Beta Was this translation helpful? Give feedback.
-
@normj Have a great Labor Day weekend. |
Beta Was this translation helpful? Give feedback.
-
I'm too interested in AOT support. Seems like DynamoDB is my only blocker. +1 for having a roadmap. :) |
Beta Was this translation helpful? Give feedback.
-
We haven't started AOT work on the DynamoDB high level libraries like the DataModel. If you want to use AOT with DynamoDB you need to use the low level service client. We are deep in getting the V4 version of the SDK out along with the usual keeping up with the AWS services. I would love to be able to tell you when we can get to the DynamoDB high level libraries but our priorities are always a delicate balance of what we want to do for the .NET SDK platform and supporting all the upcoming service changes. I do appreciate the +1s as it does help prioritize when we get a breather supporting AWS service launches. @IvanFarkas To your other questions the .NET SDK supports all of the services you mentioned except for Translate streaming, not sure if that was what you meant by Translate. We will always continue to support new versions of .NET. Lambda managed runtimes follow the LTS cycle so no .NET 9 managed runtime since that is not an LTS. Next managed runtime would be .NET 10 unless something unusual happens. But if you are doing AOT the managed runtime doesn't matter because you are creating a standalone executable when you deploy to Lambda. Hope you had a great Labor Day weekend 😄 . |
Beta Was this translation helpful? Give feedback.
-
Hi,
I understand that NativeAOT is still a very new feature and probably most people prefer not to use it but, I wanted to suggest that we can talk about supporting it in DynamoDB SDK.
I was thinking it could be very useful if there was a source generator for mapping DynamoDB items into database models inside our code base so we can ignore using reflection and probably that would solve the support for NativeAOT.
What do you think? Is it something that you're thinking of implementing? If yes, what's the schedule?
Thank you
Beta Was this translation helpful? Give feedback.
All reactions