Configurer le mappage des données pour WebSocket APIs dans API Gateway - APIPasserelle Amazon

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Configurer le mappage des données pour WebSocket APIs dans API Gateway

Le mappage de données vous permet de mapper des données d'une demande de routage vers une intégration backend.

Note

Le mappage de données pour WebSocket APIs n'est pas pris en charge dans le AWS Management Console. Vous devez utiliser le AWS CLI AWS CloudFormation, ou an SDK pour configurer le mappage des données.

Mappage des données de demande de routage à des paramètres de demande d'intégration

Les paramètres de demande d'intégration peuvent être mappés à partir de n'importe quels paramètres de demande de routage défini, du corps de la demande, des variables context ou stage, ainsi que des valeurs statiques.

Le tableau suivant présente les expressions de mappage des données des demandes d'intégration. Dans le tableau, PARAM_NAME est le nom d'un paramètre de demande d'itinéraire du type de paramètre donné. Il doit respecter le modèle d'expression régulière '^[a-zA-Z0-9._$-]+$]'. JSONPath_EXPRESSION est une JSONPath expression pour un JSON champ du corps de la demande.

Expressions de mappage de données de demande d'intégration
Source de données mappée Expression de mappage
Chaîne de requête de demande (prise en charge uniquement pour le routage $connect) route.request.querystring.PARAM_NAME
En-tête de demande (prise en charge uniquement pour le routage $connect) route.request.header.PARAM_NAME
Chaîne de demande à plusieurs valeurs (prise en charge uniquement pour le routage $connect) route.request.multivaluequerystring.PARAM_NAME
En-tête de demande à plusieurs valeurs (prise en charge uniquement pour le routage $connect) route.request.multivalueheader.PARAM_NAME
Corps de la demande route.request.body.JSONPath_EXPRESSION
Variables d'étape stageVariables.VARIABLE_NAME
Variables de contexte context.VARIABLE_NAME qui doit être l'une des variables de contexte prises en charge.
Valeur statique 'STATIC_VALUE'. Le STATIC_VALUE est une chaîne littérale qui doit être placée entre guillemets simples.

Exemples

Les AWS CLI exemples suivants configurent les mappages de données. Pour un exemple AWS CloudFormation de modèle, voir websocket-data-mapping.yaml.

Associer un client connectionId à un en-tête dans une demande d'intégration

L'exemple de commande suivant mappe connectionId d'un client à un en-tête connectionId dans la demande à une intégration backend.

aws apigatewayv2 update-integration \ --integration-id abc123 \ --api-id a1b2c3d4 \ --request-parameters 'integration.request.header.connectionId'='context.connectionId'

Mapper un paramètre de chaîne de demande à un en-tête dans une demande d'intégration

Les exemples de commande suivants mappent un paramètre de chaîne de demande authToken à un en-tête authToken dans la demande d'intégration.

Tout d'abord, ajoutez le paramètre de chaîne de demande authToken aux paramètres de demande du routage.

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

Ensuite, mappez le paramètre de chaîne de demande à l'en-tête authToken dans la demande à l'intégration backend.

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

Si nécessaire, supprimez le paramètre de chaîne de requête authToken dans les paramètres de demande de l'itinéraire.

aws apigatewayv2 delete-route-request-parameter \ --route-id 0abcdef \ --api-id a1b2c3d4 \ --request-parameter-key 'route.request.querystring.authToken'