Really interesting post.
I am wondering if you’ve come across the “Throttle” button on the Lambda console page, which sets the reserved function concurrency to zero and will throttle all future invocations. It is useful for this kind of scenario.


As per the Managing Concurrency documentation if you set the concurrency for a function to zero, then the function will not process any further invocations, so the scenario mentioned here would not have occurred. It would essentially have disabled the Lambda function.
As you found, disabling the trigger does not stop the function from invoking any events already in the queue. The throttle button/concurrency to zero option is there for this purpose.