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.
Datenzuordnung für WebSocket APIs in API Gateway einrichten
Mit der Datenzuordnung können Sie Daten aus einer Routenanforderung einer Backend-Integration zuordnen.
Anmerkung
Die Datenzuordnung für wird in der WebSocket APIs nicht unterstützt AWS Management Console. Sie müssen das AWS CLI, oder ein SDK verwenden AWS CloudFormation, um die Datenzuordnung zu konfigurieren.
Zuordnen von Routenanforderungsdaten zu Integrationsanforderungsparametern
Integrationsanforderungsparameter können aus beliebigen definierten Routenanforderungsparametern, dem Anforderungstext context oder stage-Variablen und statischen Werten zugeordnet werden.
In der folgenden Tabelle sehen Sie Datenzuordnungsausdrücke für Integrationsanfragen. In der Tabelle ist
der Name eines Routenanforderungsparameters des angegebenen Parametertyps. Es muss mit dem regulären Ausdruck übereinstimmenPARAM_NAME
'^[a-zA-Z0-9._$-]+$]'
. JSONPath_EXPRESSION
ist ein JSONPath Ausdruck für ein JSON-Feld des Hauptteils der Anfrage.
Zugewiesene Datenquelle | Mapping-Ausdruck |
---|---|
Anforderungsabfragezeichenfolge (wird nur für die $connect -Route unterstützt) |
route.request.querystring. |
Anforderungs-Header (wird nur für die $connect -Route unterstützt) |
route.request.header. |
Abfragezeichenfolge mit mehreren Werten (nur für die $connect -Route unterstützt) |
route.request.multivaluequerystring. |
Anforderungsheader mit mehreren Werten (nur für die $connect -Route unterstützt) |
route.request.multivalueheader. |
Anforderungstext | route.request.body. |
Stufenvariablen | stageVariables. |
Kontextvariablen | context. , wobei die Variable zu den unterstützten Kontextvariablen gehören muss. |
Statischer Wert | . Das STATIC_VALUE ist ein Zeichenkettenliteral und muss in einfache Anführungszeichen eingeschlossen werden. |
Beispiele
In den folgenden AWS CLI Beispielen werden Datenzuordnungen konfiguriert. Eine AWS CloudFormation Beispielvorlage finden Sie unter. websocket-data-mapping.yaml
Zuordnen der ConnectionID eines Clients zu einem Header in einer Integrationsanforderung
Der folgende Befehl update-integration ordnet den Befehl eines Clients einem connectionId
Header in der Anfrage einer Backend-Integration zu: connectionId
aws apigatewayv2 update-integration \ --integration-id abc123 \ --api-id a1b2c3d4 \ --request-parameters 'integration.request.header.connectionId'='context.connectionId'
Zuordnen eines Abfragezeichenfolgenparameters zu einem Header in einer Integrationsanforderung
Im folgenden Beispiel wird ein authToken
Abfragezeichenfolgenparameter einem authToken
Header in der Integrationsanforderung zugeordnet.
-
Verwenden Sie den folgenden Befehl update-route, um den
authToken
Abfragezeichenfolgenparameter den Anforderungsparametern der Route hinzuzufügen.aws apigatewayv2 update-route --route-id 0abcdef \ --api-id a1b2c3d4 \ --request-parameters '{"route.request.querystring.authToken": {"Required": false}}'
-
Verwenden Sie den folgenden Befehl update-integration, um den Abfragezeichenfolgenparameter dem
authToken
Header in der Anforderung an die Backend-Integration zuzuordnen.aws apigatewayv2 update-integration \ --integration-id abc123 \ --api-id a1b2c3d4 \ --request-parameters 'integration.request.header.authToken'='route.request.querystring.authToken'
-
(Optional) Verwenden Sie bei Bedarf den folgenden Befehl, delete-route-request-parameterum den
authToken
Abfragezeichenfolgenparameter aus den Anforderungsparametern der Route zu löschen.aws apigatewayv2 delete-route-request-parameter \ --route-id 0abcdef \ --api-id a1b2c3d4 \ --request-parameter-key 'route.request.querystring.authToken'