Each S3 list operation takes probably less than a second and returns 1,000 results.
Benn Linger

Aren’t you already calling SQS:SendMessage in a for loop for each item anyway? I’m suggesting you simply replace that with Lambda:Invoke(event). And why do you think you’ll be throttled? The point is to be a work queue without any of the hassle.

Won’t the DLQ story be the same in both scenarios? Not sure that has bearing one which method is used.

The behavior of Async Lambda functions are not well-specified, so I think it would be interesting to try your workload doing that and seeing what happens.

One clap, two clap, three clap, forty?

By clapping more or less, you can signal to us which stories really stand out.