Get Hands-on with Amazon EKS - Workshop Event Series
Whether you're taking your first steps with Kubernetes or you're an experienced practitioner looking to sharpen your skills, our Amazon EKS workshop series delivers practical, real-world experience that moves you forward. Learn directly from AWS solutions architects and EKS specialists through hands-on sessions designed to build your confidence with Kubernetes. Register now and start building with Amazon EKS!
Wie übergebe ich eine ConnectionID oder ein benutzerdefiniertes Token an die VPC-Link-Integration als Header für API Gateway WebSocket-APIs?
Ich möchte eine ConnectionID oder ein benutzerdefiniertes Token als Header für meine Amazon API Gateway WebSocket-API an die VPC-Link-Integration übergeben.
Kurzbeschreibung
Eine ConnectionID ist erforderlich, um eine Callback-Antwort vom Backend für WebSocket-APIs zu senden. Standardmäßig übergeben WebSocket-APIs die ConnectionID nicht an die VPC-Link-Integration.
Um eine ConnectionID oder ein benutzerdefiniertes Token zu übergeben, verwenden Sie die API Gateway-Konsole und das AWS Command Line Interface (AWS CLI) oder verwenden Sie AWS CloudFormation.
Behebung
**Hinweis:**Wenn Sie beim Ausführen von Befehlen in AWS CLI Fehlermeldungen erhalten, finden Sie weitere Informationen unter Beheben von AWS CLI-Fehlern. Stellen Sie außerdem sicher, dass Sie die neueste Version von AWS CLI verwenden.
Verwenden der API Gateway-Konsole und die AWS CLI
Führen Sie die folgenden Schritte aus:
-
Folgen Sie den Anweisungen, um einen REST-API-VPC-Link zu erstellen und ihn Ihrem Network Load Balancer zuzuordnen.
-
Folgen Sie den Anweisungen, um eine WebSocket-API-Integration einzurichten und einen privaten VPC-Link-Integrationsendpunkt zu erstellen.
-
Um die Integrations-ID abzurufen, führen Sie den AWS-CLI-Befehl get-integrations aus:
aws apigatewayv2 get-integrations --api-id <api-id> -
Erstellen und speichern Sie eine JSON-Datei mit dem Namen integration.json im folgenden Format:
{ "ApiId": "<api-id>", "IntegrationId": "<integration id retrieved from previous step>", "RequestParameters": { "integration.request.header.ConnectionId": "context.connectionId", "integration.request.header.<header-key>": "route.request.body.<parameter>", "integration.request.querystring.<querysting-key>": "'static value'" } } -
Um die Integration zu aktualisieren, führen Sie den AWS-CLI-Befehl update-integration ähnlich dem folgenden aus:
aws apigatewayv2 update-integration --cli-input-json file://integration.json -
Folgen Sie den Anweisungen zur Bereitstellung der WebSocket-API, um diese Änderungen anzuwenden.
CloudFormation verwenden
Wenn Sie CloudFormation zur Verwaltung von API Gateway verwenden, verwenden Sie die Ressource AWS: :ApiGatewayV2: :Integration, um Anforderungsparameter ähnlich den folgenden zu konfigurieren:
Integration: Type: AWS::ApiGatewayV2::Integration Properties: ApiId: !Ref websocket ConnectionId: !Ref <VPC-Link-connection-id> ConnectionType: VPC_LINK IntegrationMethod: <HTTP method to backend > IntegrationType: <HTTP_PROXY/HTTP> IntegrationUri: "<endpoint-url>" RequestParameters: "integration.request.header.connectionId": "context.connectionId" #passing context variable 'connectionId' as ConnectionId header to backend "integration.request.header.<header-key>": "route.request.body.<parameter>" #passing a request body parameter as header to backend "integration.request.querystring.<querystring-key>": "'static value'" #passing static value as querystring to backend
Sie können die Datenzuordnung verwenden, um Daten aus einer Routenanforderung der VPC-Link-Backend-Integration zuzuordnen. Weitere Informationen finden Sie unter Zuordnen von Routenanforderungsdaten zu Integrationsanforderungsparametern.
Ähnliche Informationen
- Sprache
- Deutsch

Relevanter Inhalt
AWS OFFICIALAktualisiert vor einem Jahr