Configurare la mappatura dei dati per WebSocket APIs in API Gateway - Amazon API Gateway

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à.

Configurare la mappatura dei dati per WebSocket APIs in API Gateway

La mappatura dei dati consente di mappare i dati da una richiesta di instradamento a un'integrazione back-end.

Nota

La mappatura dei dati per WebSocket APIs non è supportata in. AWS Management ConsoleÈ necessario utilizzare AWS CLI AWS CloudFormation, o an SDK per configurare la mappatura dei dati.

Come mappare i dati di richiesta di instradamento ai parametri di richiesta di integrazione

I parametri della richiesta di integrazione possono essere mappati da tutti i parametri di richiesta di instradamento definiti, dal corpo della richiesta context o dalle variabili stage e dai valori statici.

La tabella seguente mostra le espressioni di mappatura dei dati delle richieste di integrazione. Nella tabella, PARAM_NAME è il nome di un parametro di richiesta di percorso del tipo di parametro specificato. Deve corrispondere all'espressione regolare '^[a-zA-Z0-9._$-]+$]'. JSONPath_EXPRESSION è un'JSONPathespressione per un JSON campo del corpo della richiesta.

Espressioni di mappatura dei dati di richieste di integrazione
Origine dati mappata Espressione di mappatura
Stringa di query di richiesta (supportata solo per l'instradamento $connect) route.request.querystring.PARAM_NAME
Intestazione della richiesta (supportata solo per l'instradamento $connect) route.request.header.PARAM_NAME
Stringa di query della richiesta a più valori (supportata solo per l'instradamento $connect) route.request.multivaluequerystring.PARAM_NAME
Intestazione della richiesta a più valori (supportata solo per l'instradamento $connect) route.request.multivalueheader.PARAM_NAME
Corpo di richiesta route.request.body.JSONPath_EXPRESSION
Variabili di fase stageVariables.VARIABLE_NAME
Variabili di contesto context.VARIABLE_NAME che deve essere una delle variabili di contesto supportate.
Valore statico 'STATIC_VALUE'. La STATIC_VALUE è una stringa letterale e deve essere racchiusa tra virgolette singole.

Esempi

I seguenti AWS CLI esempi configurano le mappature dei dati. Per un AWS CloudFormation modello di esempio, vedere. websocket-data-mapping.yaml

Mappa quello di un client connectionId a un'intestazione in una richiesta di integrazione

Il comando di esempio seguente associa un connectionId di un client a un'intestazione connectionId nella richiesta a un'integrazione back-end.

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

Mappatura di un parametro di stringa di query a un'intestazione in una richiesta di integrazione

I comandi di esempio seguenti mappano un parametro stringa di query authToken a un'intestazione authToken nella richiesta di integrazione.

Innanzitutto, aggiungere il parametro della stringa di query authToken ai parametri di richiesta dell'instradamento.

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

Quindi, mappare il parametro della stringa di query all'intestazione authToken nella richiesta di integrazione back-end.

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

Se necessario, eliminare il parametro della stringa di query authToken ai parametri di richiesta dell'instradamento.

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