Sélectionner vos préférences de cookies

Nous utilisons des cookies essentiels et des outils similaires qui sont nécessaires au fonctionnement de notre site et à la fourniture de nos services. Nous utilisons des cookies de performance pour collecter des statistiques anonymes afin de comprendre comment les clients utilisent notre site et d’apporter des améliorations. Les cookies essentiels ne peuvent pas être désactivés, mais vous pouvez cliquer sur « Personnaliser » ou « Refuser » pour refuser les cookies de performance.

Si vous êtes d’accord, AWS et les tiers approuvés utiliseront également des cookies pour fournir des fonctionnalités utiles au site, mémoriser vos préférences et afficher du contenu pertinent, y compris des publicités pertinentes. Pour accepter ou refuser tous les cookies non essentiels, cliquez sur « Accepter » ou « Refuser ». Pour effectuer des choix plus détaillés, cliquez sur « Personnaliser ».

Référence sur le modèle de mappage des API WebSocket pour API Gateway

Mode de mise au point
Référence sur le modèle de mappage des API WebSocket pour API Gateway - Amazon API Gateway

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.

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.

Cette section résume l’ensemble des variables qui sont actuellement prises en charge pour les API WebSocket dans API Gateway.

Paramètre Description
$context.connectionId

ID unique pour la connexion qui peut être utilisé pour effectuer un rappel au client.

$context.connectedAt

Temps de connexion au format Epoch.

$context.domainName

Nom de domaine de l’API WebSocket. Ce nom peut être utilisé pour effectuer un rappel au client (au lieu d’une valeur codée en dur).

$context.eventType

Type d’événement : CONNECT, MESSAGE ou DISCONNECT.

$context.messageId

ID côté serveur unique pour un message. Uniquement disponible lorsque $context.eventType est défini sur MESSAGE.

$context.routeKey

Clé de routage sélectionnée.

$context.requestId

Identique à $context.extendedRequestId.

$context.extendedRequestId ID généré automatiquement pour l’appel d’API, qui contient d’autres informations utiles pour le débogage et le dépannage.
$context.apiId

Identifiant qu’API Gateway attribue à votre API.

$context.authorizer.principalId

Identification de l’utilisateur principal associée au jeton envoyé par le client et retourné par une fonction Lambda du mécanisme d’autorisation Lambda API Gateway (anciennement appelé mécanisme d’autorisation personnalisée).

$context.authorizer.property

Valeur obtenue à l’aide de stringify de la paire clé-valeur spécifiée du mappage context renvoyé par une fonction du mécanisme d’autorisation Lambda API Gateway. Par exemple, si le mécanisme d’autorisation retourne le mappage context suivant :

"context" : { "key": "value", "numKey": 1, "boolKey": true }

l’appel de $context.authorizer.key renvoie la chaîne "value", l’appel de $context.authorizer.numKey renvoie la chaîne "1" et l’appel de $context.authorizer.boolKey renvoie la chaîne "true".

$context.error.messageString Valeur entre guillemets de $context.error.message, à savoir "$context.error.message".
$context.error.validationErrorString

Chaîne contenant un message d’erreur de validation détaillé.

$context.identity.accountId

ID de compte AWS associé à la demande.

$context.identity.apiKey

Clé du propriétaire d’API associée à la demande d’API activée par clé.

$context.identity.apiKeyId ID de clé du propriétaire d’API associée à la demande d’API activée par clé
$context.identity.caller

Identifiant principal de l’appelant effectuant la demande.

$context.identity.cognitoAuthenticationProvider

Liste séparée par des virgules de tous les fournisseurs d’authentification Amazon Cognito utilisés par l’appelant à l’origine de la demande. Disponible uniquement si la demande a été signée avec les informations d’identification Amazon Cognito.

Par exemple, pour une identité provenant d’un groupe d’utilisateurs Amazon Cognito, cognito-idp. region.amazonaws.com/user_pool_id,cognito-idp.region.amazonaws.com/user_pool_id:CognitoSignIn:token subject claim

Pour plus d’informations sur les fournisseurs d’authentification Amazon Cognito disponibles, consultez Using Federated Identities dans le Guide du développeur Amazon Cognito.

$context.identity.cognitoAuthenticationType

Type d’authentification Amazon Cognito de l’appelant effectuant la demande. Disponible uniquement si la demande a été signée avec les informations d’identification Amazon Cognito. Les valeurs possibles incluent authenticated pour les identités authentifiées et unauthenticated pour les identités non authentifiées.

$context.identity.cognitoIdentityId

ID d’identité Amazon Cognito de l’appelant effectuant la demande. Disponible uniquement si la demande a été signée avec les informations d’identification Amazon Cognito.

$context.identity.cognitoIdentityPoolId

ID de groupe d’identités Amazon Cognito de l’appelant effectuant la demande. Disponible uniquement si la demande a été signée avec les informations d’identification Amazon Cognito.

$context.identity.sourceIp

Adresse IP source de la connexion TCP envoyant la demande au point de terminaison de l’API Gateway.

$context.identity.user

Identifiant principal de l’utilisateur effectuant la demande.

$context.identity.userAgent

Agent utilisateur de l’appelant de l’API.

$context.identity.userArn

ARN (Amazon Resource Name) de l’utilisateur identifié après l’authentification.

$context.requestTime Durée des demandes au format CLF (dd/MMM/yyyy:HH:mm:ss +-hhmm).
$context.requestTimeEpoch Heure de la demande au format Epoch, en millisecondes.
$context.stage

Étape de déploiement de l’appel d’API (par exemple, bêta ou production).

$context.status

Statut de la réponse.

$input.body

Renvoie la charge utile brute sous forme de chaîne.

$input.json(x)

Cette fonction évalue une expression JSONPath et renvoie les résultats sous la forme une chaîne JSON.

Par exemple, $input.json('$.pets') renvoie une chaîne JSON représentant la structure pets.

Pour plus d’informations sur JSONPath, consultez JSONPath ou JSONPath pour Java.

$input.path(x)

Prend une chaîne d’expression JSONPath (x) et renvoie une représentation d’objet JSON du résultat. Cela vous permet d’accéder aux éléments de la charge utile et de les manipuler en mode natif en langage VTL (Apache Velocity Template Language).

Par exemple, si l’expression $input.path('$.pets') renvoie un objet comme suit :

[ { "id": 1, "type": "dog", "price": 249.99 }, { "id": 2, "type": "cat", "price": 124.99 }, { "id": 3, "type": "fish", "price": 0.99 } ]

$input.path('$.pets').count() renvoie "3".

Pour plus d’informations sur JSONPath, consultez JSONPath ou JSONPath pour Java.

$stageVariables.<variable_name>

<variable_name> représente un nom de variable d’étape.

$stageVariables['<variable_name>']

<variable_name> représente n’importe quel nom de variable d’étape.

${stageVariables['<variable_name>']}

<variable_name> représente n’importe quel nom de variable d’étape.

$util.escapeJavaScript()

Place les caractères dans une séquence d’échappement dans une chaîne à l’aide de règles de chaîne JavaScript.

Note

Cette fonction convertit tout guillemet simple (') en guillemet d’échappement (\'). Cependant, les guillemets simples d’échappement ne sont pas valides en JSON. Par conséquent, lorsque la sortie de cette fonction est utilisée dans une propriété JSON, vous devez reconvertir les guillemets simples d’échappement (\') en guillemets simples ('), comme illustré dans l’exemple suivant :

$util.escapeJavaScript(data).replaceAll("\\'","'")
$util.parseJson()

Prend la chaîne JSON (obtenue à l’aide de stringify) et renvoie une représentation objet du résultat. Vous pouvez utiliser le résultat de cette fonction pour accéder aux éléments de la charge utile et les manipuler en mode natif en langage VTL (Apache Velocity Template Language). Par exemple, si vous avez la charge utile suivante :

{"errorMessage":"{\"key1\":\"var1\",\"key2\":{\"arr\":[1,2,3]}}"}

et utilisez le modèle de mappage suivant :

#set ($errorMessageObj = $util.parseJson($input.path('$.errorMessage'))) { "errorMessageObjKey2ArrVal" : $errorMessageObj.key2.arr[0] }

vous obtenez la sortie suivante :

{ "errorMessageObjKey2ArrVal" : 1 }
$util.urlEncode()

Convertit une chaîne au format « application/x-www-form-urlencoded ».

$util.urlDecode()

Décode une chaîne « application/x-www-form-urlencoded ».

$util.base64Encode()

Encode les données dans une chaîne encodée en base64.

$util.base64Decode()

Décode les données d’une chaîne encodée en base64.

Rubrique suivante :

Types de supports binaires

Rubrique précédente :

Mappage de données
ConfidentialitéConditions d'utilisation du sitePréférences de cookies
© 2025, Amazon Web Services, Inc. ou ses affiliés. Tous droits réservés.