WebSocket APIriferimento al modello di mappatura per 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à.

WebSocket APIriferimento al modello di mappatura per API Gateway

Questa sezione riassume l'insieme di variabili attualmente supportate WebSocket APIs in API Gateway.

Parametro Descrizione
$context.connectionId

Un ID univoco per la connessione, che può essere utilizzato per effettuare un callback al client.

$context.connectedAt

L'ora della connessione in formato Epoch.

$context.domainName

Un nome di dominio per. WebSocket API Può essere utilizzato per effettuare un callback al client (invece di un valore hardcoded).

$context.eventType

Il tipo di evento: CONNECT, MESSAGE o DISCONNECT.

$context.messageId

Un ID univoco sul lato server per un messaggio. Disponibile solo quando $context.eventType è MESSAGE.

$context.routeKey

La chiave di instradamento selezionata.

$context.requestId

Come $context.extendedRequestId.

$context.extendedRequestId Un ID generato automaticamente per la API chiamata, che contiene altre informazioni utili per il debugg/risoluzione dei problemi.
$context.apiId

L'identificatore API che Gateway assegna al tuo. API

$context.authorizer.principalId

L'identificazione dell'utente principale associata al token inviato dal client e restituito da una funzione Lambda di autorizzazione API Gateway Lambda (precedentemente nota come autorizzazione personalizzata).

$context.authorizer.property

Il valore stringato della coppia chiave-valore specificata della context mappa restituito da una funzione di autorizzazione Gateway API Lambda. Ad esempio, se le autorizzazioni restituiscono la mappa context seguente:

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

la chiamata di $context.authorizer.key restituisce la stringa "value", la chiamata di $context.authorizer.numKey restituisce la stringa "1" e la chiamata di $context.authorizer.boolKey restituisce la stringa "true".

$context.error.messageString Valore $context.error.message tra virgolette, ovvero "$context.error.message".
$context.error.validationErrorString

Stringa contenente un messaggio dettagliato di errore di convalida.

$context.identity.accountId

L'ID dell'account associato alla richiesta. AWS

$context.identity.apiKey

La chiave API del proprietario associata alla richiesta con chiave abilitataAPI.

$context.identity.apiKeyId L'ID della API chiave associato alla richiesta abilitata alla chiave API
$context.identity.caller

Identificatore dell'entità principale del chiamante da cui proviene la richiesta.

$context.identity.cognitoAuthenticationProvider

Un elenco separato da virgole di tutti i provider di autenticazione Amazon Cognito utilizzati dal chiamante che effettua la richiesta. Disponibile solo se la richiesta è stata firmata con credenziali Amazon Cognito.

Ad esempio, per un'identità di un pool di utenti Amazon Cognito, cognito-idp. region.amazonaws.com/user_pool_id,cognito-idp.region.amazonaws.com/user_pool_id:CognitoSignIn:token subject claim

Per informazioni sui provider di autenticazione di Amazon Cognito disponibili, consulta Using Federated Identities nella Amazon Cognito Developer Guide.

$context.identity.cognitoAuthenticationType

Tipo di autenticazione Amazon Cognito dell'intermediario da cui proviene la richiesta. Disponibile solo se la richiesta è stata firmata con credenziali Amazon Cognito. I valori possibili includono authenticated per le identità autenticate e unauthenticated per le identità non autenticate.

$context.identity.cognitoIdentityId

ID identità di Amazon Cognito dell'intermediario da cui proviene la richiesta. Disponibile solo se la richiesta è stata firmata con credenziali Amazon Cognito.

$context.identity.cognitoIdentityPoolId

ID pool di identità di Amazon Cognito dell'intermediario da cui proviene la richiesta. Disponibile solo se la richiesta è stata firmata con credenziali Amazon Cognito.

$context.identity.sourceIp

L'indirizzo IP di origine della TCP connessione immediata che effettua la richiesta all'endpoint Gateway. API

$context.identity.user

Identificatore dell'entità principale dell'utente da cui proviene la richiesta.

$context.identity.userAgent

L'agente utente del API chiamante.

$context.identity.userArn

L'Amazon Resource Name (ARN) dell'utente effettivo identificato dopo l'autenticazione.

$context.requestTime L'ora della richiesta CLFin formato -formattato ()dd/MMM/yyyy:HH:mm:ss +-hhmm.
$context.requestTimeEpoch L'ora della richiesta in formato epoca (Unix epoch) in millisecondi.
$context.stage

La fase di distribuzione della API chiamata (ad esempio, Beta o Prod).

$context.status

Lo stato della risposta.

$input.body

Restituisce il payload non elaborato come stringa.

$input.json(x)

Questa funzione valuta un'JSONPathespressione e restituisce i risultati sotto forma di stringaJSON.

Ad esempio, $input.json('$.pets') restituirà una JSON stringa che rappresenta la struttura degli animali domestici.

Per ulteriori informazioni suJSONPath, vedere JSONPathor JSONPathfor Java.

$input.path(x)

Accetta una stringa di JSONPath espressione (x) e restituisce una rappresentazione JSON oggettuale del risultato. Ciò consente di accedere e manipolare gli elementi del payload in modo nativo in Apache Velocity Template Language (). VTL

Ad esempio, se l'espressione $input.path('$.pets') restituisce un oggetto in questo modo:

[ { "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() restituisce "3".

Per ulteriori informazioni suJSONPath, vedere or for Java. JSONPathJSONPath

$stageVariables.<variable_name>

<variable_name> rappresenta il nome di una variabile di fase.

$stageVariables['<variable_name>']

<variable_name> rappresenta qualsiasi nome di variabile di fase.

${stageVariables['<variable_name>']}

<variable_name> rappresenta qualsiasi nome di variabile di fase.

$util.escapeJavaScript()

Sfugge ai caratteri di una stringa utilizzando le regole delle JavaScript stringhe.

Nota

Questa funzione trasforma qualsiasi virgoletta singola (') in virgoletta preceduta da un carattere escape (\'). Tuttavia, le virgolette singole con escape non sono valide in. JSON Pertanto, quando l'output di questa funzione viene utilizzato in una JSON proprietà, è necessario riconvertire le virgolette singole con escape (\') in virgolette singole regolari ('). Questo viene mostrato nell'esempio seguente:

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

Prende «stringified» JSON e restituisce una rappresentazione oggettuale del risultato. È possibile utilizzare il risultato di questa funzione per accedere e manipolare gli elementi del payload in modo nativo in Apache Velocity Template Language (). VTL Ad esempio, in presenza del payload seguente:

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

E se usi il modello di mappatura seguente:

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

Otterrai l'output seguente:

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

Converte una stringa nel formato «application/». x-www-form-urlencoded

$util.urlDecode()

Decodifica una stringa «application/». x-www-form-urlencoded

$util.base64Encode()

Codifica i dati in una stringa con codifica base64.

$util.base64Decode()

Decodifica i dati da una stringa con codifica base64.