I don’t think either of those are what I’m talking about.
What I need but don’t have is a way of switching which lambda function is responding to an event without doing a complete “in place” replacement.
Lambda functions are not always triggered by API Gateway. They can be triggered by many different routes and are identified by their ARN. The I way to change this is via changing the ARN or updating the lambda. Both solutions are problematic.
What I’m describing is a way of moving which arn receives an event with some control.
If you consider the idea of canarying this relies on ensuring that two different ARNs could receive an event from one source. Short of putting another lambda function between them (for every lambda you want to Canary) then essentially you strongly couple the event emitter and receiver.
That’s why I’m talking about pseudo ARNs.
I don’t think API Gateway or Cloudwatch Events covers this use case at all. Unless I’m mistaken.
It’s also linked to the recent post on Service Discovery from Ben Kehoe