2 Answers
- Newest
- Most votes
- Most comments
1
You don't need to use eventFiltering, you can achive that using Lambda BatchWindow
. This will invoke your function when the payload size reaches 6MB, the Batch Window reaches its maximum value, or the Batch Size reaches its maximum value. So its important to ensure your BatchSize
is large enough to let it wait for the window to trigger.
0
Unfortunately, there is no way to do that. You will need to invoke your function for every event and check if you actually need to do something or not, based on some state that you will save somewhere.
Relevant content
- asked 2 years ago
- asked 8 months ago
- Accepted Answerasked 2 years ago
- AWS OFFICIALUpdated a year ago
- AWS OFFICIALUpdated 3 months ago
Thank you for the suggestion. One case that comes to my mind is, if for some connection problem or just cumulative latency, the amount of messages changes to complete that batch. For example, if I had a perfect timeseries that sends data exactly every 10 seconds, I could set a batch size of 30 and calculate on that. But if for some reason we skip one message or delay messages in a cumulative way. Eventually the completion of the batch would be very delayed from the real time stream.