Configurer une réponse WebSocket API d'intégration dans API Gateway - APIPasserelle Amazon

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.

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

La section suivante fournit un bref aperçu WebSocket API des réponses d'intégration pour un WebSocket API.

Présentation des réponses d'intégration

APILa réponse d'intégration de Gateway est un moyen de modéliser et de manipuler la réponse d'un service principal. Il existe certaines différences entre la configuration d'une réponse et REST API celle d'une réponse WebSocket API d'intégration, mais conceptuellement, le comportement est 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é.

APIGateway ne transmettra pas la réponse du backend à la réponse de route, sauf si vous configurez une réponse de route. Pour en savoir plus sur la configuration d'une réponse de routage, consultez Configurer les 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é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 HTTP intégrations sans proxy :

  • APIGateway tentera de correspondre au code d'HTTPétat 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 à l' WebSocket APIaide de la console API Gateway, procédez comme suit :

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

  2. Choisissez votre itinéraire WebSocket API et choisissez 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 Deploy API pour déployer votreAPI.

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 un WebSocket API en utilisant la commande, AWS CLI appelez la create-integration-responsecommande. La CLI commande suivante montre un exemple de création d'une réponse $default d'intégration :

aws apigatewayv2 create-integration-response \ --api-id vaz7da96z6 \ --integration-id a1b2c3 \ --integration-response-key '$default'