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.
Einrichten einer WebSocket-API-Integrationsantwort in API Gateway
Der folgende Abschnitt bietet einen kurzen Überblick über Integrationsantworten für die WebSocket-API und zur Einrichtung einer Integrationsantwort für eine WebSocket-API.
Themen
Übersicht über Integrationsantworten
Die Integrationsantwort von API Gateway ist eine Möglichkeit, die Antwort von einem Backend-Service zu modellieren und zu manipulieren. Es gibt einige Unterschiede bei der Einrichtung einer REST-API- im Vergleich zu einer WebSocket-API-Integrationsantwort, aber das Verhalten ist konzeptionell identisch.
Für WebSocket-Routen kann bidirektionale oder unidirektionale Kommunikation konfiguriert werden.
-
Wenn für eine Route bidirektionale Kommunikation konfiguriert ist, ermöglicht Ihnen eine Integrationsantwort, Transformationen für die zurückgegebene Nachrichtennutzlast zu konfigurieren, ähnlich wie Integrationsantworten für REST-APIs.
-
Wenn für eine Route unidirektionale Kommunikation konfiguriert ist, dann wird unabhängig von der konfigurierten Integrationsantwort keine Antwort über den WebSocket-Kanal zurückgegeben, nachdem die Nachricht verarbeitet wurde.
API Gateway übergibt die Backend-Antwort nicht über die Routenantwort, es sei denn, Sie richten eine Routenantwort ein. Weitere Informationen zum Einrichten einer Routenreaktion finden Sie unter Routenantworten für WebSocket APIs in API Gateway einrichten.
Integrationsantworten für bidirektionale Kommunikation
Integrationen lassen sich in Proxy-Integrationen und Nicht-Proxy-Integrationen unterteilen.
Wichtig
Bei Proxy-Integrationen gibt API Gateway automatisch die Backend-Ausgabe als vollständigen Payload an den Aufrufer weiter. Es gibt keine Integrationsantwort.
Bei Nicht-Proxy-Integrationen müssen Sie mindestens eine Integrationsantwort einrichten:
-
Im Idealfall sollte eine Ihrer Integrationsantworten als Catch-all-Methode dienen, wenn keine explizite Wahl vorgenommen werden kann. Dieser Standardfall wird durch Festlegen des Integrationsantwort-Schlüssels
$defaultdargestellt. -
In allen anderen Fällen fungiert der Integrationsantwort-Schlüssel als regulärer Ausdruck. Er sollte dem Format
"/expression/"folgen.
Bei Nicht-Proxy-HTTP-Integrationen:
-
API Gateway versucht, den HTTP-Statuscode der Backend-Antwort zuzuordnen. Der Integrationsantwort-Schlüssel fungiert in diesem Fall als regulärer Ausdruck. Wenn keine Übereinstimmung gefunden wird, dann wird
$defaultals Integrationsantwort gewählt. -
Der Vorlagen-Auswahlausdruck funktioniert wie oben beschrieben identisch. Zum Beispiel:
-
/2\d\d/: Erfolgreiche Antworten empfangen und transformieren -
/4\d\d/: Fehler (ungültige Anforderung) empfangen und transformieren -
$default: Alle unerwarteten Antworten empfangen und transformieren
-
Weitere Informationen zu Vorlagen-Auswahlausdrücken finden Sie unter Vorlagen-Auswahlausdrücke.
Integrationsantwort mit der API Gateway-Konsole einrichten
So richten Sie eine Antwort zur Routenintegration für eine WebSocket-API über die API Gateway-Konsole ein:
-
Melden Sie sich bei der API-Gateway-Konsole unter https://console.aws.amazon.com/apigateway
an. -
Wählen Sie Ihre WebSocket-API und Ihre Route aus.
-
Wählen Sie die Registerkarte Integration request (Integrationsanforderung) und dann im Abschnitt Integration request settings (Einstellungen für Integrationsanforderungen) die Option Create integration response (Integrationsantwort erstellen) aus.
-
Geben Sie für Antwortschlüssel einen Wert ein, der nach Auswertung des Ausdrucks der Antwortauswahl im Antwortschlüssel der ausgehenden Nachricht zu finden ist. Sie können beispielsweise
/4\d\d/eingeben, um Anforderungsfehler zu empfangen und umzuwandeln, oder Sie können$defaulteingeben, um alle Antworten zu empfangen und umzuwandeln, die dem Ausdruck für die Vorlagenauswahl entsprechen. -
Geben Sie unter Template selection expression (Ausdruck für die Vorlagenauswahl) einen Auswahlausdruck ein, um die ausgehende Nachricht auszuwerten.
-
Wählen Sie Create response (Antwort erstellen) aus.
Sie können auch eine Zuordnungsvorlage definieren, um Transformationen Ihrer Payload für zurückgegebene Nachrichten zu konfigurieren. Wählen Sie Create template (Vorlage erstellen) aus.
Geben Sie einen Schlüsselnamen ein. Wenn Sie den Standardausdruck für die Vorlagenauswahl auswählen, geben Sie
\$defaultein.-
Geben Sie unter Response template (Antwortvorlage) Ihre Zuordnungsvorlage in den Code-Editor ein.
-
Wählen Sie Create template (Vorlage erstellen) aus.
-
Wählen Sie Deploy API (API bereitstellen) aus, um Ihre API bereitzustellen.
Stellen Sie mit dem folgenden wscatwscat erfahren Sie unter Verwenden von wscat zum Herstellen einer Verbindung mit einer WebSocket-API und Senden von Nachrichten an sie.
wscat -c wss://api-id.execute-api.us-east-2.amazonaws.com/test
Wenn Sie Ihre Route aufrufen, sollte die Payload der zurückgegebenen Nachricht zurückgegeben werden.
Einrichten einer Integrationsantwort mithilfe der AWS CLI
Der folgende create-integration-response-Befehl erstellt eine $default-Integrationsantwort.
aws apigatewayv2 create-integration-response \ --api-id vaz7da96z6 \ --integration-id a1b2c3 \ --integration-response-key '$default'