How to point ApiGateway to a specific Lambda alias

digitaljoel picture digitaljoel · Feb 18, 2016 · Viewed 12.7k times · Source

I created a resource in Amazon's ApiGateway. It is pointing to a Lambda function. This is being hit by a native mobile application (android and ios) which is already in the wild.

I now want to modify the Lambda function, but I see no way to change my ApiGateway resource to point to an alias of the lambda. This is my first time playing with any of these technologies and I see no easy mechanism to manage this in the aws console.

How can I modify my ApiGateway resource to point to my lambda alias so I can edit trunk without affecting existing clients?

Answer

Ryan picture Ryan · Feb 18, 2016

Under Integration Type -> Lambda Function you need to add a reference to the stage variable MyLambdaFuntionName:${stageVariables.lambdaAlias} and then for each stage set the lambdaAlias in the Stage Variables tab accordingly(lambdaAlias=dev, lambdaAlias=prod, etc.)

There is an example with screenshots here: https://aws.amazon.com/blogs/compute/using-api-gateway-stage-variables-to-manage-lambda-functions/

Its kind of hidden towards the very bottom of the page starting with "Alternatively, you can mix and match static names"