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.
Présentation de WebSocket APIs in API Gateway
Dans API Gateway, vous pouvez créer une interface dynamique pour un AWS service (tel WebSocket API que Lambda ou DynamoDB) ou pour un point de terminaison. HTTP WebSocket APIInvoque votre backend en fonction du contenu des messages qu'il reçoit des applications clientes.
Contrairement à a RESTAPI, qui reçoit et répond aux demandes, a WebSocket API prend en charge la communication bidirectionnelle entre les applications clientes et votre backend. Le serveur principal peut envoyer des messages de rappel aux clients connectés.
Dans votre WebSocket API, les JSON messages entrants sont dirigés vers des intégrations de backend en fonction des itinéraires que vous configurez. (Les JSON messages non électroniques sont dirigés vers un $default
itinéraire 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. routeSelectionExpression
Il s'agit d'un attribut défini au API niveau. Il spécifie une JSON propriété qui devrait être présente 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 JSON messages contiennent une action
propriété et que vous souhaitez effectuer différentes actions en fonction de cette propriété, votre expression de sélection d'itinéraire 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.
Utilisez des itinéraires pour un WebSocket API
Trois routes prédéfinies peuvent être utilisées : $connect
, $disconnect
et $default
. De plus, vous pouvez créer des routes personnalisées.
-
APILa passerelle appelle la
$connect
route lorsqu'une connexion persistante entre le client et a WebSocket API est initiée. -
APILa passerelle appelle la
$disconnect
route lorsque le client ou le serveur se déconnecte duAPI. -
APIGateway appelle une route personnalisée une fois que l'expression de sélection de route a été évaluée par rapport au message si une route correspondante est trouvée ; la correspondance détermine quelle intégration est invoquée.
-
APILa passerelle appelle la
$default
route si l'expression de sélection de 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 Gérez les utilisateurs connectés, les applications clientes $connect et $disconnect les itinéraires.
Pour plus d'informations sur la route $default
et les routes personnalisées, consultez la section Invoquez l'intégration de votre backend avec la $default Route et les routes personnalisées dans Gateway API.
Envoyer des données vers des applications clientes connectées
Les services backend peuvent envoyer des données vers des applications client connectées. Vous pouvez envoyer des données en procédant comme suit :
-
Utilisez une intégration pour envoyer une réponse, qui est renvoyée au client par une réponse de route que vous avez définie.
-
Vous pouvez utiliser le
@connections
API pour envoyer une POST demande. Pour plus d’informations, consultez Utilisation des commandes @connections dans votre service backend.