À propos des API WebSocket dans API Gateway - Amazon API Gateway

À propos des API WebSocket dans API Gateway

API Gateway vous permet de créer une API WebSocket en tant que serveur frontal avec état pour un service AWS (par exemple, Lambda ou DynamoDB) ou pour un point de terminaison HTTP. L'API WebSocket appelle votre serveur principal sur la base du contenu des messages qu'il reçoit des applications clientes.

Contrairement à une API REST, qui reçoit des demandes et y répond, une API WebSocket prend en charge une communication bidirectionnelle entre les applications clientes et votre serveur principal. Le serveur principal peut envoyer des messages de rappel aux clients connectés.

Dans votre API WebSocket, les messages JSON entrants sont dirigés vers des intégrations backend en fonction des routes que vous configurez. (Les messages non JSON sont dirigés vers une route $default que vous configurez.)

Une route comprend une clé de routage, qui correspond à la valeur attendue une fois qu'une expression de sélection de la route est évaluée. L'attribut routeSelectionExpression est défini au niveau de l'API. Il spécifie une propriété JSON attendue dans la charge utile du message. Pour plus d'informations sur les expressions de sélection de la route, consultez la section Expressions de sélection de la route.

Par exemple, si vos messages JSON contiennent une propriété action et que vous souhaitez effectuer différentes actions en fonction de cette propriété, votre expression de sélection de la route peut être ${request.body.action}. Votre table de routage spécifie l'action à exécuter en mettant en correspondance la valeur de la propriété action avec les valeurs des clés de routage personnalisées que vous avez définies dans la table.

Trois routes prédéfinies peuvent être utilisées : $connect, $disconnect et $default. De plus, vous pouvez créer des routes personnalisées.

  • API Gateway appelle la route $connect lorsqu'une connexion persistante entre le client et une API WebSocket est établie.

  • API Gateway appelle la route $disconnect lorsque le client ou le serveur se déconnecte de l'API.

  • API Gateway appelle une route personnalisée après évaluation de l'expression de sélection de la route par rapport au message si une route correspondante est trouvée ; la correspondance détermine l'intégration appelée.

  • API Gateway appelle la route $default si l'expression de sélection de la route ne peut pas être évaluée par rapport au message ou si aucune route correspondante n'est trouvée.

Pour plus d'informations sur les routes $connect et $disconnect, consultez la section Gestion des utilisateurs et des applications client connectés : routes $connect et $disconnect.

Pour plus d'informations sur la route $default et les routes personnalisées, consultez la section Appel de votre intégration backend : route $default et routes personnalisées.

Les services backend peuvent envoyer des données vers des applications client connectées. Pour plus d'informations, consultez Envoi de données depuis des services backend à des clients connectés.