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.
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’une API REST. Elles se comportent comme les variables d’environnement et peuvent être utilisées dans vos modèles de mappage et de configuration d’API. Grâce aux étapes de déploiement dans API Gateway, vous pouvez gérer plusieurs étapes de version pour chaque API et utiliser des variables d’étape pour configurer une étape de déploiement d’API afin qu’elle interagisse avec différents points de terminaison 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 mécanisme d’autorisation Lambda API Gateway.
Cas d’utilisation des variables d’étape
Voici quelques cas d’utilisation pour vos variables d’étape.
- Spécification d’un autre point de terminaison backend
Votre API peut transmettre une demande
GET
en tant que proxy HTTP à l’hôte web backend. Vous pouvez utiliser une variable d’étape afin qu’API Gateway appelleexample.com
lorsque les appelants d’API invoquent votre point de terminaison de production. Ensuite, lorsque les appelants d’API invoquent l’étape bêta, API Gateway appelle un autre hôte web, par exemplebeta.example.com
. De même, vous pouvez utiliser des variables d’étape pour spécifier un nom de fonction AWS Lambda différent pour chaque étape de votre API. Vous ne pouvez pas utiliser une variable d’étape pour définir un autre point de terminaison d’intégration, par exemple pour pointer la demandeGET
vers une intégration de proxy HTTP 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- Transmission d’informations à l’aide de modèles de mappage
Vous pouvez également accéder aux variables d’étape dans les modèles de mappage, ou transmettre les paramètres de configuration à votre backend AWS Lambda ou HTTP. Par exemple, vous pouvez souhaiter réutiliser la même fonction Lambda pour plusieurs étapes de votre API, mais cette fonction doit lire les données d’une table Amazon DynamoDB différente selon 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 la configurer, puis lui attribuer une valeur. Par exemple, pour personnaliser le point de terminaison d’intégration HTTP, créez d’abord la variable d’étape url
, puis saisissez sa valeur, http://${stageVariables.url}
, dans la demande d’intégration de votre API. Cette valeur dit à API Gateway de remplacer votre variable d’étape ${}
au moment de l’exécution, en fonction de l’étape où se trouve votre API. Pour de plus amples informations, veuillez consulter Configuration des variables d'étape pour REST APIs dans API Gateway.