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.
Rubriques
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 :
-
Connectez-vous à la console API Gateway, puis choisissez une API WebSocket avec une intégration de fonction Lambda proxy sur la route
$default. -
Sous Routes (Routes), choisissez la route
$default. -
Choisissez Activer la communication bidirectionnelle.
-
Sélectionnez Deploy API (Déployer une API).
-
Déployez votre API dans une étape.
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
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-idaabbccddee\ --route-id1122334\ --route-response-key '$default'
Le résultat se présente comme suit :
{ "RouteResponseId": "abcdef", "RouteResponseKey": "$default" }