Création d'étapes pour WebSocket les API dans API Gateway - Amazon API Gateway

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.

Création d'étapes pour WebSocket les API dans API Gateway

Une étape d'API est une référence logique à un état du cycle de vie de votre API (par exemple, dev, prod, beta ou v2). Les étapes API sont identifiées par leur ID d'API et leur nom d'étape, et elles sont incluses dans l'URL que vous utilisez pour appeler l'API. Chaque étape est une référence nommée à un déploiement de l'API et elle est mise à la disposition des applications clientes à appeler.

Un déploiement est un instantané de la configuration de votre API. Après que vous avez déployé une API sur une étape, les clients peuvent l'appeler. Vous devez déployer une API pour que les modifications prennent effet.

Variables d'étape

Les variables d'étape sont des paires clé-valeur que vous pouvez définir pour une étape d'une WebSocket API. Elles se comportent comme les variables d'environnement et peuvent être utilisées dans votre configuration d'API.

Par exemple, vous pouvez définir une variable d'étape, puis définir sa valeur en tant que point de terminaison HTTP pour une intégration de proxy HTTP. Par la suite, vous pouvez référencer le point de terminaison à l'aide du nom de la variable d'étape associée. Ce faisant, vous pouvez utiliser la même configuration d'API avec un point de terminaison différent à chaque étape. De même, vous pouvez utiliser des variables d'étape pour spécifier une intégration de AWS Lambda fonction différente pour chaque étape de votre API.

Note

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 Format de réponse du mécanisme d'autorisation Lambda.

Exemples

Pour utiliser une variable d'étape afin de personnaliser le point de terminaison d'intégration HTTP, vous devez d'abord définir le nom et la valeur de la variable stage (par exemple, url) avec la valeur example.com. Ensuite, configurez une intégration de proxy HTTP. Au lieu d'entrer l'URL du point de terminaison, vous pouvez demander à API Gateway d'utiliser la valeur de la variable d'étape, http://${stageVariables.url}. Cette valeur demande à API Gateway de remplacer votre variable d'étape ${} au moment de l'exécution, en fonction de l'étape à laquelle se trouve votre API.

Vous pouvez référencer les variables d'étape de la même manière pour spécifier un nom de fonction Lambda ou un AWS ARN de rôle.

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. Pour ce faire, vous pouvez utiliser AWS Command Line Interface (AWS CLI).

aws lambda add-permission --function-name arn:aws:lambda:XXXXXX:your-lambda-function-name --source-arn arn:aws:execute-api:us-east-1:YOUR_ACCOUNT_ID:api_id/*/HTTP_METHOD/resource --principal apigateway.amazonaws.com --statement-id apigateway-access --action lambda:InvokeFunction

Référence des variables d'étape API Gateway

URI d'intégration HTTP

Une variable d'étape peut être utilisée dans une URI d'intégration HTTP, comme illustré dans les exemples suivants.

  • URI complet sans protocole – http://${stageVariables.<variable_name>}

  • Domaine complet – http://${stageVariables.<variable_name>}/resource/operation

  • Sous-domaine – http://${stageVariables.<variable_name>}.example.com/resource/operation

  • Chemin – http://example.com/${stageVariables.<variable_name>}/bar

  • Chaîne de requête – http://example.com/foo?q=${stageVariables.<variable_name>}

Fonctions Lambda

Vous pouvez utiliser une variable d'étape à la place d'un nom de fonction Lambda ou d'un alias, comme illustré dans les exemples suivants.

  • arn:aws:apigateway:<region>:lambda:path/2015-03-31/functions/arn:aws:lambda:<region>:<account_id>:function:${stageVariables.<function_variable_name>}/invocations

  • arn:aws:apigateway:<region>:lambda:path/2015-03-31/functions/arn:aws:lambda:<region>:<account_id>:function:<function_name>:${stageVariables.<version_variable_name>}/invocations

Note

Pour utiliser une variable d'étape pour une fonction Lambda, la fonction doit se trouver dans le même compte que l'API. Les variables d'étape ne prennent pas en charge les fonctions Lambda inter-comptes.

AWS informations d'identification d'intégration

Vous pouvez utiliser une variable d'étape dans le cadre de l'ARN d'identification AWS d'un utilisateur ou d'un rôle, comme illustré dans l'exemple suivant.

  • arn:aws:iam::<account_id>:${stageVariables.<variable_name>}