1 Answer
- Newest
- Most votes
- Most comments
0
I can suggest a couple options that come to mind that may or may not work depending on your architecture. It sounds like the corruption is happening when the Lambda receives the data from the client so the issue is occurring on the client-side or during transport.
Retry Logic
- Create a unique id to each event.
- Update the Lambda function to update the client with the failed ids. This can be done in multiple ways. For example, the Lambda could write the failed ids to another source like a dead letter queue or a DynamoDB table. https://aws.amazon.com/about-aws/whats-new/2016/12/aws-lambda-supports-dead-letter-queues/
- Update the client to process the failed ids and re-send those specific events again. Set some maximum number of attempts to avoid processing a broken message endlessly.
Service Change Even if Lambda supports streaming it may not be the best option based on your use-case. AWS Kinesis is a very popular streaming service with a lot of built-in features. https://aws.amazon.com/kinesis/
I hope these suggestions help you. Please let me know if you would like additional suggestions or more details.
Relevant content
- asked 2 months ago
- asked 2 months ago
- AWS OFFICIALUpdated a year ago
- AWS OFFICIALUpdated a year ago
- AWS OFFICIALUpdated 3 years ago
- AWS OFFICIALUpdated 2 months ago