EventBridge interaction events hammering Lambda concurrency

We’ve got a massive spike in interaction events from EventBridge and our consumer Lambda is maxing out at 1000 concurrent executions. The queue is backing up and we’re dropping events. I’m trying to batch process them but the standard event.Records payload from SQS isn’t holding up under the load. Here’s the handler:

def lambda_handler(event, context):
 for record in event['Records']:
 body = json.loads(record['body'])
 # process event

Is there a way to tune the EventBridge rule or the target configuration to throttle the fan-out? I’m hitting ProvisionedConcurrencyConflict errors when trying to scale up manually. The docs mention batching but nothing on how to enforce it on the source side.

EventBridge batches events, so your lambda is getting hit by the burst instead of a steady stream.

  • Add a SQS FIFO queue as a buffer between EventBridge and the lambda.
  • Increase the batch size in the lambda trigger to 10 and enable report batch item failures.
  • Turn on reserved concurrency for the lambda to prevent it from starving other functions.