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.
Das Einrichten einer Integrationsanforderung umfasst die folgenden Schritte:
-
Auswählen eines Routenschlüssels zum Integrieren im Backend.
-
Angabe des aufzurufenden Backend-Endpunkts. WebSocket APIs unterstützt die folgenden Integrationstypen:
AWS_PROXY
AWS
HTTP_PROXY
HTTP
MOCK
Weitere Informationen zu Integrationstypen finden Sie IntegrationTypein der API Gateway V2 REST API.
-
Konfigurieren, wie die Routenanforderungsdaten bei Bedarf in Integrationsanforderungsdaten konvertiert werden, durch Angabe einer oder mehrerer Anforderungsvorlagen.
Richten Sie mit der WebSocket API Gateway-Konsole eine API-Integrationsanfrage ein
So fügen Sie mithilfe der API-Gateway-Konsole eine Integrationsanfrage zu einer Route in einer WebSocket API hinzu
-
Melden Sie sich bei der API Gateway-Konsole an, wählen Sie die API und wählen Sie Routes (Routen).
-
Wählen Sie unter Routes (Routen) die Route aus.
-
Wählen Sie die Registerkarte Integration request (Integrationsanforderung) und dann im Abschnitt Integration request settings (Einstellungen für Integrationsanforderungen) die Option Edit (Bearbeiten) aus.
-
Wählen Sie für Integration type (Integrationstyp) eine der folgenden Optionen:
-
Wählen Sie die Lambda-Funktion nur, wenn Ihre API in eine AWS Lambda Funktion integriert wird, die Sie bereits in diesem Konto oder in einem anderen Konto erstellt haben.
Um eine neue Lambda-Funktion in zu erstellen AWS Lambda, eine Ressourcenberechtigung für die Lambda-Funktion festzulegen oder andere Lambda-Serviceaktionen auszuführen, wählen Sie AWS stattdessen Service.
-
Wählen Sie HTTP, wenn Ihre API in einen vorhandenen HTTP-Endpunkt integriert wird. Weitere Informationen finden Sie unter HTTP-Integrationen für REST-APIs in API Gateway.
-
Wählen Sie Mock, wenn Sie API-Antworten direkt von API Gateway generieren möchten, ohne dass ein Integrations-Backend erforderlich ist. Weitere Informationen finden Sie unter Pseudointegrationen für REST-APIs in API Gateway.
-
Wählen Sie AWS Service, wenn Ihre API in einen Dienst integriert werden soll. AWS
-
Wählen Sie VPC Link (VPC-Link), wenn Ihre API einen
VpcLink
als privaten Integrations-Endpunkt verwenden wird. Weitere Informationen finden Sie unter Private Integrationen für REST APIs in API Gateway.
-
-
Wenn Sie Lambda Function (Lambda-Funktion) wählen, gehen Sie wie folgt vor:
-
Markieren Sie unter Use Lambda Proxy integration (Lambda-Proxy-Integration verwenden) das Kontrollkästchen, wenn Sie die Lambda-Proxy-Integration oder die kontoübergreifende Lambda-Proxy-Integration verwenden möchten.
-
Geben Sie für Lambda Function (Lambda-Funktion) die Funktion auf eine der folgenden Arten an:
-
Wenn sich Ihre Lambda-Funktion in demselben Konto befindet, geben Sie den Funktionsnamen ein und wählen Sie dann die Funktion aus der Dropdown-Liste aus.
Anmerkung
Der Funktionsname kann optional seinen Alias oder seine Versionsangabe, wie in
HelloWorld
,HelloWorld:1
oderHelloWorld:alpha
, enthalten. -
Wenn sich die Funktion in einem anderen Konto befindet, geben Sie den ARN für die Funktion ein.
-
-
Wenn Sie den Timeout-Standardwert von 29 Sekunden verwenden möchten, lassen Sie das Kontrollkästchen Default timeout (Standardzeitüberschreitung) aktiviert. Wenn Sie einen benutzerdefinierten Zeitüberschreitungswert festlegen möchten, wählen Sie Default timeout (Standardzeitüberschreitung) aus und geben Sie einen Zeitüberschreitungswert zwischen
50
und29000
Millisekunden ein.
-
-
Befolgen Sie bei Wahl von HTTP die Anweisungen in Schritt 4 von API-Integrationsanfrage über die API Gateway-Konsole einrichten.
-
Befolgen Sie bei Wahl von Mock (Pseudo) die Anweisungen unter dem Schritt Request Templates (Vorlagen anfordern).
-
Befolgen Sie bei Wahl von AWS -Service die Anweisungen in Schritt 6 von API-Integrationsanfrage über die API Gateway-Konsole einrichten.
-
Wenn Sie VPC Link (VPC-Link) ausgewählt haben, gehen Sie wie folgt vor:
-
Markieren Sie für VPC proxy integration (Proxy-Integration verwenden) das Kontrollkästchen, wenn Anforderungen über einen Proxy an Ihren
VPCLink
-Endpunkt gesendet werden sollen. -
Wählen Sie als HTTP method die HTTP-Methode aus, die am ehesten der Methode im HTTP-Backend entspricht.
-
Wählen Sie in der Dropdownliste VPC link (VPC-Link) einen VPC-Link aus. Sie können
[Use Stage Variables]
auswählen und${stageVariables.vpcLinkId}
in das Textfeld unter der Liste eingeben.Sie können die
vpcLinkId
-Stufenvariable nach der Bereitstellung der API für eine Stufe definieren und ihren Wert auf die ID desVpcLink
festlegen. -
Geben Sie als Endpunkt-URL die URL des HTTP-Backends ein, das von dieser Integration verwendet werden soll.
-
Wenn Sie die Standardzeitüberschreitung von 29 Sekunden verwenden möchten, lassen Sie das Kontrollkästchen Default timeout (Standardzeitüberschreitung) aktiviert. Wenn Sie einen benutzerdefinierten Zeitüberschreitungswert festlegen möchten, wählen Sie Default timeout (Standardzeitüberschreitung) aus und geben Sie einen Zeitüberschreitungswert zwischen
50
und29000
Millisekunden ein.
-
-
Wählen Sie Änderungen speichern.
-
Führen Sie unter Request Templates (Vorlagen anfordern) die folgenden Schritte durch:
Um einen Template selection expression (Vorlagen-Auswahlausdruck) einzugeben, wählen Sie unter Request templates (Vorlagen anfordern) die Option Edit (Bearbeiten).
Geben Sie einen Template selection expression (Vorlagen-Auswahlausdruck) ein. Verwenden Sie einen Ausdruck, nach dem API Gateway in der Nachrichtennutzlast sucht. Wenn er gefunden wird, wird er ausgewertet. Das Ergebnis ist ein Vorlagen-Schlüsselwert zur Auswahl der Datenzuweisungsvorlage, die auf die Daten in der Nachrichtennutzlast anzuwenden ist. Die Datenzuweisungsvorlage erstellen Sie im nächsten Schritt. Wählen Sie Edit (Bearbeiten) aus, um Ihre Änderungen zu speichern.
Wählen Sie Create template (Vorlage erstellen), um die Datenzuweisungsvorlage zu erstellen. Geben Sie für Template key (Vorlagenschlüssel) einen Vorlagenschlüsselwert zur Auswahl der Datenzuweisungsvorlage ein, die auf die Daten in der Nachrichtennutzlast anzuwenden ist. Definieren Sie anschließend eine Zuweisungsvorlage. Wählen Sie Create template (Vorlage erstellen) aus.
Weitere Informationen zu Vorlagen-Auswahlausdrücken finden Sie unter Vorlagen-Auswahlausdrücke.
Richten Sie eine Integrationsanfrage ein, indem Sie AWS CLI
Sie können eine Integrationsanfrage für eine Route in einer WebSocket API einrichten, indem Sie AWS CLI wie im folgenden Beispiel vorgehen, wodurch eine Scheinintegration erstellt wird:
-
Erstellen Sie eine Datei mit dem Namen
integration-params.json
und dem folgenden Inhalt:{"PassthroughBehavior": "WHEN_NO_MATCH", "TimeoutInMillis": 29000, "ConnectionType": "INTERNET", "RequestTemplates": {"application/json": "{\"statusCode\":200}"}, "IntegrationType": "MOCK"}
-
Verwenden Sie den folgenden Befehl create-integration, um die Scheinintegration zu erstellen.
aws apigatewayv2 --region us-east-1 create-integration --api-id aabbccddee --cli-input-json file://integration-params.json
Die Ausgabe sieht wie folgt aus:
{ "PassthroughBehavior": "WHEN_NO_MATCH", "TimeoutInMillis": 29000, "ConnectionType": "INTERNET", "IntegrationResponseSelectionExpression": "${response.statuscode}", "RequestTemplates": { "application/json": "{\"statusCode\":200}" }, "IntegrationId": "0abcdef", "IntegrationType": "MOCK" }
Alternativ können Sie eine Integrationsanforderung für eine Proxyintegration einrichten, indem Sie den verwenden. AWS CLI
-
Erstellen Sie eine Lambda-Funktion in der Lambda-Konsole und geben Sie ihr eine grundlegende Lambda-Ausführungsrolle.
-
Verwenden Sie den folgenden Befehl create-integration, um die Integration zu erstellen.
aws apigatewayv2 create-integration --api-id
aabbccddee
--integration-type AWS_PROXY --integration-method POST --integration-uri arn:aws:apigateway:us-east-1
:lambda:path/2015-03-31/functions/arn:aws:lambda:us-east-1
:123412341234
:function:simpleproxy-echo-e2e
/invocations
Die Ausgabe sieht wie folgt aus:
{ "PassthroughBehavior": "WHEN_NO_MATCH", "IntegrationMethod": "POST", "TimeoutInMillis": 29000, "ConnectionType": "INTERNET", "IntegrationUri": "arn:aws:apigateway:
us-east-1
:lambda:path/2015-03-31/functions/arn:aws:lambda:us-east-1
:123412341234
:function:simpleproxy-echo-e2e
/invocations", "IntegrationId": "abcdefg
", "IntegrationType": "AWS_PROXY" }
Eingabeformat einer Lambda-Funktion für die Proxyintegration für WebSocket APIs
Bei der Lambda-Proxy-Integration ordnet API Gateway die gesamte Client-Anforderung dem event
-Eingabeparameter der Backend-Lambda-Funktion zu. Im folgenden Beispiel sehen Sie die Struktur des Eingabeereignisses der $connect
-Route und des Eingabeereignisses der $disconnect
-Route, die das API Gateway an eine Lambda-Proxy-Integration sendet.
{
headers: {
Host: 'abcd123.execute-api.us-east-1.amazonaws.com',
'Sec-WebSocket-Extensions': 'permessage-deflate; client_max_window_bits',
'Sec-WebSocket-Key': '...',
'Sec-WebSocket-Version': '13',
'X-Amzn-Trace-Id': '...',
'X-Forwarded-For': '192.0.2.1',
'X-Forwarded-Port': '443',
'X-Forwarded-Proto': 'https'
},
multiValueHeaders: {
Host: [ 'abcd123.execute-api.us-east-1.amazonaws.com' ],
'Sec-WebSocket-Extensions': [ 'permessage-deflate; client_max_window_bits' ],
'Sec-WebSocket-Key': [ '...' ],
'Sec-WebSocket-Version': [ '13' ],
'X-Amzn-Trace-Id': [ '...' ],
'X-Forwarded-For': [ '192.0.2.1' ],
'X-Forwarded-Port': [ '443' ],
'X-Forwarded-Proto': [ 'https' ]
},
requestContext: {
routeKey: '$connect',
eventType: 'CONNECT',
extendedRequestId: 'ABCD1234=',
requestTime: '09/Feb/2024:18:11:43 +0000',
messageDirection: 'IN',
stage: 'prod',
connectedAt: 1707502303419,
requestTimeEpoch: 1707502303420,
identity: { sourceIp: '192.0.2.1' },
requestId: 'ABCD1234=',
domainName: 'abcd1234.execute-api.us-east-1.amazonaws.com',
connectionId: 'AAAA1234=',
apiId: 'abcd1234'
},
isBase64Encoded: false
}