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.
Transformations de données pour WebSocket les API dans API Gateway
Dans API Gateway, la demande de méthode d'une WebSocket API peut prendre une charge utile dans un format différent de la charge utile de la demande d'intégration correspondante, comme l'exige le backend. De même, le backend peut renvoyer une charge utile de réponse d'intégration différente de la charge utile de réponse de méthode attendue par le serveur frontal.
API Gateway vous permet d'utiliser des modèles de mappage pour mapper la charge utile d'une demande de méthode à la demande d'intégration correspondante, et d'une réponse d'intégration à la réponse de méthode correspondante. Vous spécifiez une expression de sélection de modèle pour déterminer le modèle à utiliser afin d'effectuer les transformations de données nécessaires.
Vous pouvez utiliser des mappages de données pour mapper des données d'une demande de routage à une intégration backend. Pour en savoir plus, consultez la section Configurer le mappage des données pour WebSocket APIs dans API Gateway.
Modèles et modèles de mappage
Un modèle de mappage est un script exprimé en langage VTL (Velocity Template Language)
La charge utile peut comporter un modèle de données en fonction du schéma JSON version 4
Expressions de sélection du modèle
Pour transformer une charge utile à l'aide d'un modèle de mappage, vous devez spécifier une expression de sélection de modèle d' WebSocket API dans une demande d'intégration ou une réponse d'intégration. Cette expression est évaluée pour déterminer le modèle d'entrée ou de sortie (le cas échéant) à utiliser pour transformer le corps de la demande en corps de demande d'intégration (via un modèle d'entrée) ou le corps de la réponse au corps de la réponse de routage (via un modèle de sortie).
Integration.TemplateSelectionExpression
prend en charge ${request.body.jsonPath}
et les valeurs statiques.
IntegrationResponse.TemplateSelectionExpression
prend en charge ${request.body.jsonPath}
, ${integration.response.statuscode}
, ${integration.response.header.headerName}
, ${integration.response.multivalueheader.headerName}
et des valeurs statiques.
Expressions de sélection de la réponse d'intégration
Lorsque vous configurez une réponse d'intégration pour une WebSocket API, vous pouvez éventuellement spécifier une expression de sélection de réponse d'intégration. Cette expression détermine quelle
doit être sélectionnée lorsqu'une intégration est renvoyée. La valeur de cette expression est actuellement restreinte par API Gateway, comme défini ci-dessous. Gardez à l'esprit que cette expression est uniquement pertinente pour des intégrations autres que de proxy. Une intégration de proxy transmet simplement la charge utile de la réponse à l'appelant sans modélisation ni modification.IntegrationResponse
Contrairement aux autres expressions de sélection précédentes, cette expression prend actuellement en charge un format de correspondance de modèle. L'expression doit être encapsulée avec des barres obliques.
Actuellement, la valeur est fixée en fonction de l'élément
:integrationType
-
Pour les intégrations basées sur Lambda, la valeur est
$integration.response.body.errorMessage
. -
Pour les intégrations
HTTP
etMOCK
, la valeur est$integration.response.statuscode
. -
Pour
HTTP_PROXY
etAWS_PROXY
, l'expression n'est pas utilisée, car vous demandez que la charge utile soit transmise à l'appelant.