Configuration d’une réponse d’intégration pour une API WebSocket dans API Gateway
La section suivante présente brièvement les réponses d’intégration pour une API WebSocket et montre comment les configurer.
Rubriques
Présentation des réponses d’intégration
La réponse d’intégration d’API Gateway permet de modéliser et de manipuler la réponse reçue d’un service backend. Il existe quelques différences au niveau de la configuration de la réponse d’intégration d’une API REST et d’une API WebSocket, mais sur le plan conceptuel, le comportement est le même.
Les routes WebSocket peuvent être configurées dans des communications bidirectionnelles ou unidirectionnelles.
-
Lorsqu’une route est configurée pour la communication bidirectionnelle, une réponse d’intégration vous permet de configurer des transformations sur la charge utile du message retourné, similaire aux réponses d’intégration des API REST.
-
Si une route est configurée pour une communication unidirectionnelle, indépendamment de la configuration de la réponse d’intégration, aucune réponse n’est retournée sur le canal WebSocket après que le message est traité.
API Gateway ne transmet pas la réponse du backend à la réponse de routage, sauf si vous avez configuré une réponse de routage. Pour en savoir plus sur la configuration d’une réponse de routage, consultez Configuration de réponses de routage pour des API WebSocket dans API Gateway.
Réponses d’intégration pour une communication bidirectionnelle
Les intégrations peuvent être divisées en intégrations de proxy et autres que de proxy.
Important
Pour les intégrations de proxy, API Gateway transmet automatiquement la sortie du backend à l’appelant en tant que charge utile complète. Il n’y a pas de réponse d’intégration.
Pour les intégrations autres que de proxy, vous devez configurer au moins une réponse d’intégration :
-
Idéalement, une de vos réponses d’intégration doit servir de fourre-tout lorsqu’aucun choix explicite ne peut être effectué. Ce cas par défaut est représenté en définissant une clé de réponse d’intégration
$default
. -
Dans tous les autres cas, la clé de réponse d’intégration fonctionne en tant qu’expression régulière. Elle doit suivre le format
"/expression/"
.
Pour les intégrations HTTP autres que de proxy :
-
API Gateway tente de mettre en correspondance le code de statut HTTP de la réponse du backend. Dans ce cas, la clé de réponse d’intégration fonctionne en tant qu’expression régulière. Si aucune correspondance n’est trouvée,
$default
est choisi en tant que réponse d’intégration. -
L’expression de sélection du modèle décrite ci-dessus fonctionne de manière identique. Exemples :
-
/2\d\d/
: reçoit et transforme les réponses fructueuses -
/4\d\d/
: reçoit et transforme les erreurs de demande incorrecte -
$default
: reçoit et transforme toutes les réponses inattendues
-
Pour en savoir plus sur les expressions de sélection de modèle, consultez Expressions de sélection du modèle.
Configuration d’une réponse d’intégration à l’aide de la console API Gateway
Pour configurer une réponse d’intégration de route pour une API WebSocket à l’aide de la console API Gateway :
-
Connectez-vous à la console API Gateway à l’adresse https://console.aws.amazon.com/apigateway
. -
Choisissez votre API WebSocket, puis votre route.
-
Choisissez l’onglet Demande d’intégration, puis dans la section Paramètres de la réponse d’intégration, choisissez Créer une réponse d’intégration.
-
Pour Clé de réponse, saisissez une valeur qui sera trouvée dans la clé de réponse trouvée dans le message sortant après avoir évalué l’expression de sélection de réponse. Par exemple, vous pouvez entrer
/4\d\d/
pour recevoir et transformer les erreurs de mauvaise demande ou entrer$default
pour recevoir et transformer toutes les réponses qui correspondent à l’expression de sélection du modèle. -
Pour Expression de sélection du modèle, entrez une expression de sélection pour évaluer le message sortant.
-
Choisissez Créer une réponse.
Vous pouvez également définir un modèle de mappage pour configurer les transformations de votre charge utile de message renvoyé. Sélectionnez Create template (Créer un modèle).
Saisissez un nom de clé. Si vous choisissez l’expression de sélection de modèle par défaut, saisissez
\$default
.-
Pour Modèle de réponse, entrez votre modèle de mappage dans l’éditeur de code.
-
Sélectionnez Create template (Créer un modèle).
-
Choisissez Déployer l’API pour déployer votre API.
Utilisez la commande wscatwscat
, consultez Utilisation de wscat pour se connecter à une API WebSocket et lui envoyer des messages.
wscat -c wss://
api-id
.execute-api.us-east-2
.amazonaws.com/test
Lorsque vous appelez votre route, la charge utile de message renvoyé est renvoyée.
Configurer une réponse d’intégration à l’aide de l’AWS CLI
Pour configurer une réponse d’intégration d’API WebSocket à l’aide de l’AWS CLI, appelez la commande create-integration-response. La commande d’interface de ligne de commande suivante montre un exemple de création d’une réponse d’intégration $default
:
aws apigatewayv2 create-integration-response \ --api-id vaz7da96z6 \ --integration-id a1b2c3 \ --integration-response-key '$default'