Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.
Trasformazioni dei dati per le API in WebSocket API Gateway
In API Gateway, la richiesta del metodo di un' WebSocket API può accettare un payload in un formato diverso dal payload della richiesta di integrazione corrispondente, come richiesto nel backend. Analogamente, il back-end potrebbe restituire un payload delle risposta di integrazione diverso dal payload della risposta di metodo, in base alle aspettative del front-end.
API Gateway consente di utilizzare i modelli di mappatura per mappare il payload da una richiesta del metodo alla richiesta di integrazione corrispondente e da una risposta di integrazione alla corrispondente risposta del metodo. Specifica un'espressione di selezione del modello per determinare quale modello utilizzare per eseguire le trasformazioni dei dati necessarie.
È possibile utilizzare le mappature dei dati per mappare i dati da una richiesta di instradamento a un'integrazione back-end. Per ulteriori informazioni, consulta Configurare la mappatura dei dati per WebSocket APIs in API Gateway.
Modelli di mappatura e modelli
Un modello di mappatura è uno script espresso in Velocity Template Language (VTL)
Il payload può avere un modello di dati in base alla bozza 4 dello schema JSON
Espressioni di selezione del modello
Per trasformare un payload con un modello di mappatura, si specifica un'espressione di selezione del modello WebSocket API in una richiesta di integrazione o in una risposta di integrazione. Questa espressione viene valutata per determinare il modello di input o di output (se disponibili) da usare per trasformare il corpo della richiesta nel corpo della richiesta di integrazione (tramite un modello di input) o il corpo della risposta di integrazione nel corpo della risposta di instradamento (tramite un modello di output).
Integration.TemplateSelectionExpression
supporta ${request.body.jsonPath}
e valori statici.
IntegrationResponse.TemplateSelectionExpression
supporta ${request.body.jsonPath}
, ${integration.response.statuscode}
, ${integration.response.header.headerName}
, ${integration.response.multivalueheader.headerName}
e valori statici.
Espressioni di selezione della risposta di integrazione
Quando imposti una risposta di integrazione per un' WebSocket API, puoi facoltativamente specificare un'espressione di selezione della risposta di integrazione. Questa espressione determina quale
deve essere selezionata quando viene restituita un'integrazione. Il valore di questa espressione è attualmente limitato da API Gateway, come definito di seguito. Tieni presente che questa espressione è rilevante solo per le integrazioni non proxy; un'integrazione proxy restituisce semplicemente il payload della risposta all'intermediario senza alcuna modellazione o modifica.IntegrationResponse
A differenza di altre espressioni di selezione precedenti, questa espressione supporta attualmente un formato di corrispondenza di modelli. L'espressione deve essere racchiusa tra barre.
Attualmente il valore è fisso e dipende dal valore di
:integrationType
-
Per le integrazioni basate su Lambda, è
$integration.response.body.errorMessage
. -
Per le integrazioni
HTTP
eMOCK
, è$integration.response.statuscode
. -
Per
HTTP_PROXY
eAWS_PROXY
, l'espressione non viene utilizzata poiché si richiede che il payload raggiunga il chiamante.