Configuration de réponses de routage pour des API WebSocket dans API Gateway - Amazon API Gateway

Configuration de réponses de routage pour des API WebSocket dans API Gateway

Les routes WebSocket peuvent être configurées dans des communications bidirectionnelles ou unidirectionnelles. 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.

Note

Vous pouvez uniquement définir la réponse de routage $default pour les API WebSocket. Vous pouvez utiliser une réponse d’intégration pour manipuler la réponse d’un service backend. Pour plus d’informations, consultez Présentation des réponses d’intégration.

Vous pouvez configurer les réponses de routage et les expressions de sélection de réponse à l’aide de la console API Gateway, de l’AWS CLI ou d’un kit AWS SDK.

Pour plus d’informations sur les expressions de sélection de la réponse de routage, consultez la section Expressions de sélection de la réponse de routage.

Configuration d’une réponse de routage à l’aide de la console API Gateway

Après avoir créé une API WebSocket et attaché une Fonction Lambda proxy à la route par défaut, vous pouvez configurer la réponse de route à l’aide de la console API Gateway :

  1. Connectez-vous à la console API Gateway, puis choisissez une API WebSocket avec une intégration de fonction Lambda proxy sur la route $default.

  2. Sous Routes (Routes), choisissez la route $default.

  3. Choisissez Activer la communication bidirectionnelle.

  4. Sélectionnez Deploy API (Déployer une API).

  5. Déployez votre API dans une étape.

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

Appuyez sur la touche Entrée pour appeler la route par défaut. Le corps de votre fonction Lambda vous est renvoyé.

Configuration d’une réponse de routage à l’aide de la AWS CLI

La commande create-route-response suivante crée une réponse de routage pour la route $default. Vous pouvez identifier l’ID de l’API et l’ID du routage à l’aide des commandes get-apis et get-routes.

aws apigatewayv2 create-route-response \ --api-id aabbccddee \ --route-id 1122334 \ --route-response-key '$default'

Le résultat se présente comme suit :

{ "RouteResponseId": "abcdef", "RouteResponseKey": "$default" }