Über WebSocket APIs in API Gateway - Amazon API 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.

Über WebSocket APIs in API Gateway

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

Im Gegensatz zu einer REST-API, die Anfragen empfängt und beantwortet, unterstützt eine WebSocket API die 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 auf der Grundlage von Routen, die Sie konfigurieren, 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 persistente 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.