Configuration d'une réponse d'intégration d' WebSocket 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.

Configuration d'une réponse d'intégration d' WebSocket API dans API Gateway

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'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 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 une WebSocket API 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ée. 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 d'état 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 :

  1. Connectez-vous à la console API Gateway à l'adresse : https://console.aws.amazon.com/apigateway.

  2. Choisissez votre WebSocket API et votre itinéraire.

  3. 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.

  4. 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.

  5. Pour Expression de sélection du modèle, entrez une expression de sélection pour évaluer le message sortant.

  6. Choisissez Créer une réponse.

  7. 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).

  8. Saisissez un nom de clé. Si vous choisissez l'expression de sélection de modèle par défaut, saisissez \$default.

  9. Pour Modèle de réponse, entrez votre modèle de mappage dans l'éditeur de code.

  10. Sélectionnez Create template (Créer un modèle).

  11. Choisissez Déployer l'API pour déployer votre API.

Utilisez la commande wscat suivante pour vous connecter à votre API. Pour plus d’informations sur wscat, 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

Pour configurer une réponse d'intégration pour une WebSocket API à l'aide de la commande, AWS CLI appelez la create-integration-responsecommande. 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'