Datenzuordnung für WebSocket-APIs einrichten - Amazon API Gateway

Datenzuordnung für WebSocket-APIs einrichten

Mit der Datenzuordnung können Sie Daten aus einer Routenanforderung einer Backend-Integration zuordnen.

Anmerkung

Die Datenzuordnung für WebSocket-APIs wird im nicht unterstütz AWS Management Console. Sie müssen die Datenzuordnung mit AWS CLI, AWS CloudFormation oder einem SDK 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 ist PARAM_NAME der Name eines Routenanforderungsparameters des angegebenen Parametertyps. Er muss dem regulären Ausdruck entspreche '^[a-zA-Z0-9._$-]+$]'. JSONPath_Expression ist ein JSONPath-Ausdruck für ein JSON-Feld des Anforderungstests.

Zuweisungsausdrücke für Integrationsanforderungsdaten
Zugewiesene Datenquelle Zuweisungsausdruck
Anforderungsabfragezeichenfolge (wird nur für die $connect-Route unterstützt) route.request.querystring.PARAM_NAME
Anforderungs-Header (wird nur für die $connect-Route unterstützt) route.request.header.PARAM_NAME
Abfragezeichenfolge mit mehreren Werten (nur für die $connect-Route unterstützt) route.request.multivaluequerystring.PARAM_NAME
Anforderungsheader mit mehreren Werten (nur für die $connect-Route unterstützt) route.request.multivalueheader.PARAM_NAME
Anforderungstext route.request.body.JSONPath_EXPRESSION
Stufenvariablen stageVariables.VARIABLE_NAME
Kontextvariablen context.VARIABLE_NAME, wobei die Variable zu den unterstützten Kontextvariablen gehören muss.
Statischer Wert 'STATIC_VALUE'. STATIC_VALUE ist ein Zeichenfolgenliteral, das in einfache Anführungszeichen eingeschlossen werden muss.

Examples

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 Beispielbefehl ordnet die connectionId eines Clients einem connectionId-Header in der Anforderung an eine Backend-Integration zu.

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

Die folgenden Beispielbefehle ordnen einen authToken-Abfragezeichenfolgenparameter einem authToken-Header in der Integrationsanforderung zu.

Fügen Sie zunächst den authToken-Abfragezeichenfolgenparameter zu den Anforderungsparametern der Route hinzu.

aws apigatewayv2 update-route --route-id 0abcdef \ --api-id a1b2c3d4 \ --request-parameters '{"route.request.querystring.authToken": {"Required": false}}'

Ordnen Sie als Nächstes den Abfragezeichenfolgenparameter dem authToken-Header in der Anforderung der Backend-Integration zu.

aws apigatewayv2 update-integration \ --integration-id abc123 \ --api-id a1b2c3d4 \ --request-parameters 'integration.request.header.authToken'='route.request.querystring.authToken'