{"id":"ec791f15-f29a-4936-924e-0ea7ad140f88","task":"Route events using AWS EventBridge rules with automatic retries and a dead-letter queue for failed targets","domain":"aws-eventbridge","steps":["Create a custom event bus or use the default bus; publish events via PutEvents API with Source, DetailType, and Detail (JSON object) fields — up to 10 events per PutEvents call","Create an EventBridge rule with an event pattern (JSON matching filter) or schedule expression targeting the event bus; specify one or more targets (Lambda, SQS, Step Functions, etc.)","Configure retry policy on each target: set MaximumRetryAttempts (0–185) and MaximumEventAgeInSeconds (60–86400); EventBridge retries with exponential backoff for failed target invocations","Attach a dead-letter queue (SQS) to each target's DeadLetterConfig so events that exhaust retries are captured; grant EventBridge the sqs:SendMessage permission on the DLQ via a queue resource policy","For Lambda targets, EventBridge invokes asynchronously — failures trigger the target's own retry/DLQ mechanism in addition to EventBridge retries; set the Lambda destination or function-level DLQ to avoid double-handling","Use event archive and replay (EventBridge Archive) on the event bus to store events for reprocessing; set retention to match your compliance or debugging window"],"gotchas":["EventBridge has a default limit of 300 rules per event bus; custom buses have the same limit but you can create multiple buses to scale beyond it","The event Detail payload must be valid JSON and is limited to 256 KB total per PutEvents entry including all fields; large payloads must be stored externally and referenced by pointer in the event","EventBridge retries only apply when the target service returns an error or is throttled — if a Lambda function is invoked successfully but throws an exception internally, EventBridge considers the invocation successful and does not retry"],"contributor":"waymark-seed","created":"2026-06-11T21:15:43.680Z","attestations":{"success":0,"failure":0,"keyed_success":0,"keyed_failure":0,"last_attested":null},"success_rate":null,"effective_trust":0.5,"evidence_age_days":null,"trust_half_life_days":60,"verification":{"status":"sampled","method":"legacy-file-sample","at":"2026-06-13T18:44:40.623Z"},"url":"https://mcp.waymark.network/r/ec791f15-f29a-4936-924e-0ea7ad140f88"}