Überblick über WebSocket APIs in API Gateway - APIAmazon-Gateway

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Überblick über WebSocket APIs in API Gateway

In API Gateway können Sie ein WebSocket API Stateful-Frontend für einen AWS Dienst (wie Lambda oder DynamoDB) oder für einen Endpunkt erstellen. HTTP Das WebSocket API ruft Ihr Backend auf der Grundlage des Inhalts der Nachrichten auf, die es von Client-Apps empfängt.

Im Gegensatz zu a RESTAPI, das Anfragen empfängt und beantwortet, WebSocket API unterstützt a die bidirektionale Kommunikation zwischen Client-Apps und Ihrem Backend. Das Backend kann Rückruf-Nachrichten an verbundene Clients senden.

In Ihrem WebSocket API werden eingehende JSON Nachrichten auf der Grundlage von Routen, die Sie konfigurieren, an Backend-Integrationen weitergeleitet. (Nachrichten, die keine JSON Nachrichten sind, 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 der API Ebene definiertes Attribut. Es gibt eine JSON Eigenschaft an, von der erwartet wird, dass sie in der Nachrichtennutzlast vorhanden ist. Weitere Informationen zu Routen-Auswahlausdrücken finden Sie unter Routen-Auswahlausdrücke.

Wenn Ihre JSON Nachrichten beispielsweise eine action Eigenschaft enthalten und Sie auf der Grundlage dieser Eigenschaft verschiedene Aktionen ausführen möchten, könnte Ihr Routenauswahlausdruck wie folgt lauten${request.body.action}. 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.

Verwenden Sie Routen für WebSocket API

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

  • APIGateway ruft die $connect Route auf, wenn eine dauerhafte Verbindung zwischen dem Client und einem initiiert WebSocket API wird.

  • APIGateway ruft die $disconnect Route auf, wenn der Client oder der Server die Verbindung zum API trennt.

  • APIGateway ruft eine benutzerdefinierte Route auf, nachdem der Routenauswahlausdruck anhand der Nachricht ausgewertet wurde, falls eine passende Route gefunden wurde. Die Übereinstimmung bestimmt, welche Integration aufgerufen wird.

  • APIGateway ruft die $default Route auf, wenn der Routenauswahlausdruck nicht anhand der Nachricht ausgewertet werden kann oder wenn keine passende Route gefunden wird.

Weitere Informationen über die Routen $connect und $disconnect finden Sie unter Verbundene Benutzer und Client-Apps verwalten: $connect und $disconnect Routen.

Weitere Informationen über die Route $default und benutzerdefinierte Routen finden Sie unter Rufen Sie Ihre Backend-Integration mit der $default Route und benutzerdefinierten Routen in Gateway auf API.

Senden Sie Daten an verbundene Client-Apps

Backend-Services können Daten an verbundene Client-Apps senden. Gehen Sie wie folgt vor, um Daten zu senden:

  • Verwenden Sie eine Integration, um eine Antwort zu senden, die über eine von Ihnen definierte Routenantwort an den Client zurückgegeben wird.

  • Sie können die verwenden @connectionsAPI, um eine POST Anfrage zu senden. Weitere Informationen finden Sie unter Verwenden der @connections-Befehle in Ihrem Backend-Service.