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.
La section suivante fournit un bref aperçu des réponses d'intégration pour une WebSocket API et explique comment configurer une réponse d'intégration pour une WebSocket API.
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 certaines différences entre la configuration d'une API REST et une réponse d'intégration d' WebSocket API, mais le comportement est conceptuellement le même.
WebSocket les itinéraires peuvent être configurés pour une communication bidirectionnelle ou unidirectionnelle.
-
Lorsqu'un itinéraire est configuré pour une communication bidirectionnelle, une réponse d'intégration vous permet de configurer des transformations sur la charge utile du message renvoyé, de la même manière que les réponses d'intégration pour REST. APIs
-
Si un itinéraire est configuré pour une communication unidirectionnelle, quelle que soit la configuration de réponse d'intégration, aucune réponse ne sera renvoyée sur le WebSocket canal une fois le message 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 des réponses d'itinéraire pour WebSocket APIs 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 d'itinéraires pour une WebSocket API à l'aide de la console API Gateway, procédez comme suit :
-
Connectez-vous à la console API Gateway à l'adresse https://console.aws.amazon.com/apigateway.
-
Choisissez votre WebSocket API et votre itinéraire.
-
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 wscatÀ utiliser pour se connecter à une WebSocket API et y 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.
Configurez une réponse d'intégration à l'aide du AWS CLI
La create-integration-responsecommande suivante crée une réponse $default
d'intégration :
aws apigatewayv2 create-integration-response \ --api-id vaz7da96z6 \ --integration-id a1b2c3 \ --integration-response-key '$default'