web-dev-qa-db-fra.com

Comment pointer ApiGateway vers un alias Lambda spécifique

J'ai créé une ressource dans ApiGateway d'Amazon. Il pointe vers une fonction Lambda. Cela est frappé par une application mobile native (Android et iOS) qui est déjà dans la nature.

Je veux maintenant modifier la fonction Lambda, mais je ne vois aucun moyen de changer ma ressource ApiGateway pour pointer vers un alias de la lambda. C'est la première fois que je joue avec l'une de ces technologies et je ne vois aucun mécanisme facile à gérer dans la console aws.

Comment puis-je modifier ma ressource ApiGateway pour pointer vers mon alias lambda afin que je puisse modifier le tronc sans affecter les clients existants?

28
digitaljoel

Sous Type d'intégration -> Fonction Lambda, vous devez ajouter une référence à la variable d'étape MyLambdaFuntionName:${stageVariables.lambdaAlias} puis, pour chaque étape, définissez le lambdaAlias dans l'onglet Variables d'étape en conséquence (lambdaAlias ​​= dev, lambdaAlias ​​= prod, etc.)

Il y a un exemple avec des captures d'écran ici: https://aws.Amazon.com/blogs/compute/using-api-gateway-stage-variables-to-manage-lambda-functions/

Son genre de caché vers le bas de la page commençant par "Alternativement, vous pouvez mélanger et faire correspondre les noms statiques"

29
Ryan

Pour le googler ultérieur, veillez à ajouter des autorisations AVEC l'alias correct comme yourfunc: prod non seulement yourfunc. Cela signifie que si vous prévoyez d'utiliser 3 alias pour appeler les fonctions lambda, vous devez en ajouter 3.

5
davyzhang