1 Answer
- Newest
- Most votes
- Most comments
0
Hello.
The EventBridge rule is to deliver events at-least-once, so it is unlikely that an event will not occur.
How about setting up a dead letter queue in EventBridge?
By setting this up, you can send events that cannot be delivered to the target to a dead letter queue, which may reduce the chance of events being lost.
https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-rule-dlq.html

Thanks, but if that were the case, wouldn't there be a diff between invocationAttempts and SuccessfulInvocationAttempts? What's really strange is that for the time period in question there are absolutely no 5 min interval metrics (from just a couple weeks ago).
If the "invocationAttempts" metric is not being recorded, it means that the target is not being invoked. By the way, is the problem occurring regularly? If this just happened to happen this time, it may be a problem on the AWS side, so you may want to consider contacting AWS support.
Exactly - it is extremely rare. I am using s3 object created event to trigger a step function, so it's not clear how anything could possibly fail unless AWS has an outage. Nothing about the text files I upload varies, they are tiny basic files created normally. So would DLQ even help in this case? I don't have paid AWS support.
I'm wondering if the best option is to query S3 uploads by timestamp for each hour and verify each file triggered the target. Any suggestions?
actually, what's even weirder is some step function invocations clearly DID run (since I have data from their output), but absolutely no invocation metrics are listed for several hours even after their upload...
So I have decided to employ S3 Inventory Report and write a daily job that verifies no object was left behind. Too bad...