How is partial batch failure reporting designed to work for DyamoDB Streams? #1757
-
I'm currently trying to port the batch processing utilities to TypeScript by borrowing some of the features found here, and some from the Java Powertools. Everything has been relatively smooth so far, except for one bit: collecting DynamoDB failures. I'm looking to gain a better understanding of the way it happens in the Python Powertools: Given that dynamodb and SequenceNumber are described as an optional fields, I see two possibilities:
My TS implementation replicates the same behavior by falling back to an empty string, but I'm curious as to which scenario is at play. |
Beta Was this translation helpful? Give feedback.
Replies: 1 comment 3 replies
-
Hey, the sequence number is always present AFAIK as we're iterating on a shard when polled by Lambda poller. Have you experienced it otherwise when deployed? The doc you linked is the API Data type, and many fields are sent despite having "Required: No" -- like "dynamodb" key, so I'm not sure why that is. Another note is that Java is using our older Batch implementation. We had the same in Python but couldn't find anyone skilled in Java to migrate to the new Batch Report Item Failure mechanism (pure I/O vs AWS SDK manual deletes). The only feature we might want to bring over is the ability to set a permanent exception to move an item to a DLQ (future, not now). Shout if there's any other question you might have. Thank you so much for helping out!! |
Beta Was this translation helpful? Give feedback.
Hey, the sequence number is always present AFAIK as we're iterating on a shard when polled by Lambda poller. Have you experienced it otherwise when deployed?
The doc you linked is the API Data type, and many fields are sent despite having "Required: No" -- like "dynamodb" key, so I'm not sure why that is.
Another note is that Java is using our older Batch implementation. We had the same in Python but couldn't find anyone skilled in Java to migrate to the new Batch Report Item Failure mechanism (pure I/O vs AWS SDK manual deletes).
The only feature we might want to bring over is the ability to set a permanent exception to move an item to a DLQ (future, not now).
Shout if there's any other …