Mehr zu WebSocket-APIs in API Gateway - Amazon API Gateway

Mehr zu WebSocket-APIs in API Gateway

In API Gateway können Sie eine WebSocket-API als zustandsbehaftetes Frontend für einen AWS-Service (wie AWS-Lambda oder DynamoDB) oder für einen HTTP-Endpunkt erstellen. Die WebSocket-API ruft Ihr Backend basierend auf dem Inhalt der Nachrichten auf, die sie von Client-Apps erhält.

Anders als eine REST-API, die Anforderungen empfängt und auf sie antwortet, unterstützt eine WebSocket-API eine bidirektionale Kommunikation zwischen Client-Apps und Ihrem Backend. Das Backend kann Rückruf-Nachrichten an verbundene Clients senden.

In Ihrer WebSocket-API werden eingehende JSON-Nachrichten basierend auf von Ihnen definierten Routen an Backend-Integrationen weitergeleitet. (Nicht-JSON-Nachrichten werden an eine von Ihnen konfigurierte $default-Route weitergeleitet.)

Eine Route umfasst einen Routenschlüssel. Dabei handelt es sich um den Wert, der bei der Auswertung eines Routen-Auswahlausdrucks erwartet wird. Das routeSelectionExpression ist ein auf API-Ebene definiertes Attribut. Es gibt eine JSON-Eigenschaft an, von der erwartet wird, dass sie in der Nachricht-Nutzlast vorhanden ist. Weitere Informationen zu Routen-Auswahlausdrücken finden Sie unter Routen-Auswahlausdrücke.

Beispiel: Wenn Ihre JSON-Nachrichten eine action-Eigenschaft enthalten und Sie basierend auf dieser Eigenschaft verschiedene Aktionen durchführen möchten, könnte Ihr Routen-Auswahlausdruck ${request.body.action} lauten. Ihre Routing-Tabelle würde in diesem Fall angeben, welche Aktion ausgeführt werden soll, indem der Wert der action-Eigenschaft gegen die benutzerdefinierten Routenschlüssel-Werte abgeglichen wird, die Sie in der Tabelle definiert haben.

Es gibt drei vordefinierte Routen, die verwendet werden können: $connect, $disconnect und $default. Darüber hinaus können Sie benutzerdefinierte Routen erstellen.

  • API Gateway ruft die $connect-Route auf, wenn eine permanente Verbindung zwischen dem Client und einer WebSocket-API initiiert wird.

  • API Gateway ruft die $disconnect-Route auf, wenn der Client oder der Server die Verbindung mit der API unterbricht.

  • API Gateway ruft eine benutzerdefinierte Route auf, wenn nach der Auswertung des Routen-Auswahlausdrucks im Hinblick auf die Nachricht eine übereinstimmende Route gefunden wird. Die Übereinstimmung bestimmt, welche Integration aufgerufen wird.

  • API Gateway ruft die Route $default auf, wenn der Routen-Auswahlausdruck nicht im Hinblick auf die Nachricht ausgewertet werden kann oder wenn keine übereinstimmende Route gefunden wird.

Weitere Informationen über die Routen $connect und $disconnect finden Sie unter Verwalten von verbundenen Benutzern und Client-Apps: Routen $connect und $disconnect.

Weitere Informationen über die Route $default und benutzerdefinierte Routen finden Sie unter Aufrufen Ihrer Backend-Integration: $default-Route und benutzerdefinierte Routen.

Backend-Services können Daten an verbundene Client-Apps senden. Weitere Informationen finden Sie unter Senden von Daten von Backend-Services an verbundene Clients.