Utiliser des variables d'étape pour un REST API in API Gateway - APIPasserelle Amazon

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Utiliser des variables d'étape pour un REST API in API Gateway

Les variables d'étape sont des paires clé-valeur que vous pouvez définir en tant qu'attributs de configuration associés à une étape de déploiement d'un. REST API Ils agissent comme des variables d'environnement et peuvent être utilisés dans vos modèles de API configuration et de mappage. Avec les étapes de déploiement dans API Gateway, vous pouvez gérer plusieurs étapes de publication pour chacune d'elles API et utiliser des variables d'étape. Vous pouvez configurer une étape de API déploiement pour interagir avec différents points de terminaison du backend.

Les variables d'étape ne sont pas destinées à être utilisées pour des données sensibles, telles que les informations d'identification. Pour transmettre des données sensibles aux intégrations, utilisez un AWS Lambda autorisateur. Vous pouvez transmettre des données sensibles aux intégrations dans la sortie du mécanisme d'autorisation Lambda. Pour en savoir plus, consultez la section Sortie d'un autorisateur API Gateway Lambda.

Cas d'utilisation des variables d'étape

Vous trouverez ci-dessous des cas d'utilisation pour vos variables d'étape.

Spécifiez un autre point de terminaison principal

Vous API pouvez transmettre une GET demande en tant que HTTP proxy à l'hébergeur principal. Vous pouvez utiliser une variable d'étape afin que API Gateway appelle votre point de terminaison de production lorsque API les appelants appellent votre point de terminaison de production. example.com Ensuite, lorsque API les appelants invoquent la phase bêta, API Gateway appelle un autre hébergeur, tel quebeta.example.com. De même, les variables d'étape peuvent être utilisées pour spécifier un nom de AWS Lambda fonction différent pour chaque étape de votreAPI. Vous ne pouvez pas utiliser une variable d'étape pour définir un point de terminaison d'intégration différent, par exemple pour pointer la GET demande vers une intégration de HTTP proxy dans une étape et une intégration de proxy Lambda dans une autre étape.

Lorsque vous spécifiez un nom de fonction Lambda en tant que valeur de variable d'étape, vous devez configurer les autorisations sur cette fonction Lambda manuellement. Lorsque vous spécifiez une fonction Lambda dans la console API Gateway, une AWS CLI commande apparaît pour configurer les autorisations appropriées. Vous pouvez également utiliser la AWS CLI commande suivante pour ce faire.

aws lambda add-permission --function-name "arn:aws:lambda:us-east-2:123456789012:function:my-function" --source-arn "arn:aws:execute-api:us-east-2:123456789012:api_id/*/HTTP_METHOD/resource" --principal apigateway.amazonaws.com --statement-id apigateway-access --action lambda:InvokeFunction
Transmettre des informations à l'aide de modèles de cartographie

Vous pouvez accéder aux variables d'étape dans les modèles de mappage ou transmettre des paramètres de configuration à votre AWS Lambda ou à votre HTTP backend. Par exemple, vous souhaiterez peut-être réutiliser la même fonction Lambda pour plusieurs étapes de votreAPI, mais la fonction doit lire les données d'une table Amazon DynamoDB différente en fonction de l'étape. Dans les modèles de mappage qui génèrent la demande de la fonction Lambda, vous pouvez utiliser des variables d'étape pour transmettre le nom de la table à Lambda.

Pour utiliser une variable d'étape, vous devez d'abord configurer une variable d'étape, puis lui attribuer une valeur. Par exemple, pour personnaliser le point de terminaison HTTP d'intégration, créez d'abord la variable d'urlétape, puis entrez la valeur API de la variable d'étape dans votre demande d'intégration,http://${stageVariables.url}. Cette valeur indique à API Gateway de remplacer votre variable d'étape ${} lors de l'exécution, en fonction de l'étape API que vous exécutez. Pour plus d’informations, consultez Configurer les variables d'étape pour REST APIs dans API Gateway.