-
Notifications
You must be signed in to change notification settings - Fork 108
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
DynamoDB Streams #67
base: main
Are you sure you want to change the base?
DynamoDB Streams #67
Conversation
Hardcoded AWS region also got removed.
Wow, @kiril-pirozenko-home24 this is a huge undertaking – respect! Before you go any further though – my original thoughts were that it would be a lot easier to just borrow a lot of the stream code from https://github.com/mhart/kinesalite – considering that Kinesis and DynamoDB Streams are very similar. Is this something you considered at all? |
Thank you! No, haven't checked kinesalite at all. Our first goal was to have basic working mock for our services. Could you have a look at code/functionality/TODO posted above and add what's missing for this PR to be mergeable? Maybe a checklist of your requirements to accept a PR? Because, you know, other business priorities... need to balance all this stuff 🙂 It would be helpful to see a scope of this task. In general I approve of code borrowing 🙂 How about using more modern JS features? Do you have any requirements for minimum Node version supported? What's your take on tools like Typescript? |
Oh man. This is amazing! From a usability point of view, it would be nice to be able to wire up triggers with something like |
Hi, I love this (and actually need this). Can I help you with finishing this? |
+1 on the request for stream support and triggers |
I just wanted to write to report that I've used @kiril-pirozenko-home24's fork and his streams implementation seems to work extremely well. I hope this PR gets accepted eventually |
Date.now() returns milliseconds which is interpreted incorectly by boto3. For example boto3 will interprete the ApproximateCreationDateTime as something like `Fri Jan 08 49712 17:18:22`. This crashes boto3 with an error `year is out of range`. We need unix timestamp there (seconds)
fix ApproximateCreationDateTime
Revisiting this now (7 years later!), also seeing what went down over in #88, I'm wondering if we can't reignite this PR by pulling out the Kinesalite internals we want and using them here (with credit!), without adding it as a dependency? I'm open to ideas, would love to see this move forward again as well. |
This is rough implementation of DynamoDB Streams API. The intent of this PR is to gather feedback.
TODO:
UpdateTable
DeleteTable
BatchWriteItems
ListStreams
does not filter streams by table nameStreamViewType
fromStreamSpecification
(currently they always work as ifNEW_AND_OLD_IMAGES
was provided)eventID
equal toSequenceNumber
Implements: #66