

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
<a name="websocket-api-data-mapping"></a>

Mit der *Datenzuordnung* können Sie Daten aus einer [Routenanforderung](api-gateway-basic-concept.md#apigateway-definition-route-request) einer Backend-Integration zuordnen.

**Anmerkung**  
Die Datenzuordnung für wird in der WebSocket APIs nicht unterstützt AWS-Managementkonsole. Sie müssen das AWS CLI, oder ein SDK verwenden AWS CloudFormation, um die Datenzuordnung zu konfigurieren.

**Topics**
+ [Zuordnen von Routenanforderungsdaten zu Integrationsanforderungsparametern](#websocket-mapping-request-parameters)
+ [Beispiele](#websocket-data-mapping-examples)

## Zuordnen von Routenanforderungsdaten zu Integrationsanforderungsparametern
<a name="websocket-mapping-request-parameters"></a>

Integrationsanforderungsparameter können aus beliebigen definierten Routenanforderungsparametern, dem Anforderungstext [`context` oder ](api-gateway-mapping-template-reference.md#context-variable-reference) [`stage`](api-gateway-mapping-template-reference.md#stagevariables-template-reference)-Variablen und statischen Werten zugeordnet werden.

In der folgenden Tabelle sehen Sie Datenzuordnungsausdrücke für Integrationsanfragen. In der Tabelle ist *`PARAM_NAME`* der Name eines Routenanforderungsparameters des angegebenen Parametertyps. Es muss mit dem regulären Ausdruck übereinstimmen`'^[a-zA-Z0-9._$-]+$]'`. *JSONPath\$1EXPRESSION*ist ein JSONPath Ausdruck für ein JSON-Feld des Hauptteils der Anfrage.


| Zugewiesene Datenquelle | Mapping-Ausdruck | 
| --- | --- | 
| Anforderungsabfragezeichenfolge (wird nur für die \$1connect-Route unterstützt) | route.request.querystring.PARAM\$1NAME | 
| Anforderungs-Header (wird nur für die \$1connect-Route unterstützt) | route.request.header.PARAM\$1NAME | 
| Abfragezeichenfolge mit mehreren Werten (nur für die \$1connect-Route unterstützt) | route.request.multivaluequerystring.PARAM\$1NAME | 
| Anforderungsheader mit mehreren Werten (nur für die \$1connect-Route unterstützt) | route.request.multivalueheader.PARAM\$1NAME | 
| Anforderungstext | route.request.body.JSONPath\$1EXPRESSION | 
| Stufenvariablen | stageVariables.VARIABLE\$1NAME | 
| Kontextvariablen | context.VARIABLE\$1NAME, wobei die Variable zu den [unterstützten Kontextvariablen](api-gateway-mapping-template-reference.md#context-variable-reference) gehören muss. | 
| Statischer Wert | 'STATIC\$1VALUE'. Das STATIC\$1VALUE ist ein Zeichenkettenliteral und muss in einfache Anführungszeichen eingeschlossen werden. | 

Achten Sie beim Erstellen einer Datenzuordnung auf das AWS CLI richtige Format für die Verwendung von Literalen mit Zeichenfolgen in. AWS CLI Weitere Informationen finden Sie unter [Verwenden von Zeichenfolgen mit Anführungszeichen in der AWS CLI](https://docs.aws.amazon.com/cli/latest/userguide/cli-usage-parameters-quoting-strings.html) im *Benutzerhandbuch zur AWS Command Line Interface *.

## Beispiele
<a name="websocket-data-mapping-examples"></a>

In den folgenden AWS CLI Beispielen werden Datenzuordnungen konfiguriert. Eine CloudFormation Beispielvorlage finden Sie unter. [samples/websocket-data-mapping.zip](samples/websocket-data-mapping.zip)

### Zuordnen der ConnectionID eines Clients zu einem Header in einer Integrationsanforderung
<a name="websocket-data-mapping-examples.connectionId"></a>

Der folgende [update-integration](https://docs.aws.amazon.com/cli/latest/reference/apigatewayv2/update-integration.html)-Befehl weist die `connectionId` eines Clients dem `connectionId`-Header in der Anfrage 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
<a name="websocket-data-mapping-examples.querystring"></a>

Das folgende Beispiel weist einen `authToken`-Abfragezeichenfolgenparameter dem `authToken`-Header in der Integrationsanforderung zu.

1. Verwenden Sie den folgenden [update-route](https://docs.aws.amazon.com/cli/latest/reference/apigatewayv2/update-route.html)-Befehl, um den `authToken`-Abfragezeichenfolgenparameter zu den Anforderungsparametern der Route hinzuzufügen.

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

1.  Verwenden Sie den folgenden [update-integration](https://docs.aws.amazon.com/cli/latest/reference/apigatewayv2/update-integration.html)-Befehl, um den Abfragezeichenfolgenparameter dem `authToken`-Header in der Anfrage an die Backend-Integration zuzuweisen.

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

1. (Optional) Gehen Sie bei Bedarf wie folgt vor, [delete-route-request-parameter](https://docs.aws.amazon.com/cli/latest/reference/apigatewayv2/delete-route-request-parameter.html)um 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'
   ```