

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 Riferimento al modello di mappatura delle API per API Gateway
<a name="apigateway-websocket-api-mapping-template-reference"></a>

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


| Parametro | Descrizione | 
| --- | --- | 
| \$1context.connectionId |  Un ID univoco per la connessione, che può essere utilizzato per effettuare un callback al client.  | 
| \$1context.connectedAt |  L'ora della connessione in formato [Epoch](https://en.wikipedia.org/wiki/Unix_time).  | 
| \$1context.domainName |  Un nome di dominio per l' WebSocket API. Può essere utilizzato per effettuare un callback al client (invece di un valore hardcoded).  | 
| \$1context.eventType |  Il tipo di evento: `CONNECT`, `MESSAGE` o `DISCONNECT`.  | 
| \$1context.messageId |  Un ID univoco sul lato server per un messaggio. Disponibile solo quando `$context.eventType` è `MESSAGE`.  | 
| \$1context.routeKey |  La chiave di instradamento selezionata.  | 
| \$1context.requestId |  Come `$context.extendedRequestId`.  | 
| \$1context.extendedRequestId | Un ID generato automaticamente per la chiamata API, che contiene ulteriori informazioni utili per il debug/la risoluzione dei problemi. | 
| \$1context.apiId |  Identificatore assegnato da API Gateway all'API.  | 
| \$1context.authorizer.principalId |  Identificazione dell'utente dell'entità principale associata al token inviato dal client e restituita da una funzione Lambda del provider di autorizzazioni Lambda di API Gateway (noto in precedenza come autorizzazioni ad hoc).  | 
| \$1context.authorizer.property |  Valore in formato stringa della coppia chiave/valore specificata della mappa `context` restituita da una funzione delle autorizzazioni Lambda di API Gateway. Ad esempio, se le autorizzazioni restituiscono la mappa `context` seguente:  <pre>"context" : {<br />  "key": "value",<br />  "numKey": 1,<br />  "boolKey": true<br />}</pre> 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"`.  | 
| \$1context.error.messageString | Valore \$1context.error.message tra virgolette, ovvero "\$1context.error.message". | 
| \$1context.error.validationErrorString |  Stringa contenente un messaggio dettagliato di errore di convalida.  | 
| \$1context.identity.accountId |  L'ID AWS dell'account associato alla richiesta.  | 
| \$1context.identity.apiKey |  Chiave del proprietario dell'API associata alla richiesta API abilitata dalla chiave.  | 
| \$1context.identity.apiKeyId | ID chiave API associato alla richiesta API abilitata dalla chiave | 
| \$1context.identity.caller |  Identificatore dell'entità principale del chiamante da cui proviene la richiesta.  | 
| \$1context.identity.cognitoAuthenticationProvider |  Un elenco separato da virgole con 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 Amazon Cognito disponibili, consulta [Using Federated Identities](https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-identity.html) nella *Guida per gli sviluppatori di Amazon Cognito*. | 
| \$1context.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. | 
| \$1context.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.  | 
| \$1context.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.  | 
| \$1context.identity.sourceIp |  L'indirizzo IP di origine della connessione TCP immediata da cui proviene la richiesta all'endpoint di API Gateway.  | 
| \$1context.identity.user |  Identificatore dell'entità principale dell'utente da cui proviene la richiesta.  | 
| \$1context.identity.userAgent |  Agente utente della chiamata API.  | 
| \$1context.identity.userArn |  Amazon Resource Name (ARN) dell'utente valido identificato dopo l'autenticazione.  | 
| \$1context.requestTime | Ora della richiesta in formato [CLF](https://httpd.apache.org/docs/current/logs.html#common) (dd/MMM/yyyy:HH:mm:ss \$1-hhmm). | 
| \$1context.requestTimeEpoch | L'ora della richiesta in formato [epoca (Unix epoch)](https://en.wikipedia.org/wiki/Unix_time) in millisecondi. | 
| \$1context.stage |  Fase di distribuzione della chiamata API, ad esempio, beta o di produzione.  | 
| \$1context.status |  Lo stato della risposta.  | 
| \$1input.body | Restituisce il payload non elaborato come stringa. | 
| \$1input.json(x) | Questa funzione valuta un' JSONPath espressione e restituisce i risultati come stringa JSON. Ad esempio, `$input.json('$.pets')` restituisce una stringa JSON che rappresenta la struttura di elementi "pet" (animali domestici). Per ulteriori informazioni su JSONPath, vedere [JSONPath](https://goessner.net/articles/JsonPath/)or [JSONPath for](https://github.com/json-path/JsonPath) Java. | 
| \$1input.path(x) | Accetta una stringa di JSONPath espressione (`x`) e restituisce una rappresentazione in oggetto JSON del risultato. In questo modo, puoi accedere agli elementi del payload e modificarli in modo nativo in [Apache Velocity Template Language (VTL)](https://velocity.apache.org/engine/devel/vtl-reference.html). Ad esempio, se l'espressione `$input.path('$.pets')` restituisce un oggetto in questo modo: <pre>[<br />  { <br />    "id": 1, <br />    "type": "dog", <br />    "price": 249.99 <br />  }, <br />  { <br />    "id": 2, <br />    "type": "cat", <br />    "price": 124.99 <br />  }, <br />  { <br />    "id": 3, <br />    "type": "fish", <br />    "price": 0.99 <br />  } <br />]</pre> `$input.path('$.pets').count()` restituisce `"3"`. Per ulteriori informazioni su JSONPath, vedere [JSONPath](http://goessner.net/articles/JsonPath/)or [JSONPath for Java](https://github.com/jayway/JsonPath). | 
| \$1stageVariables.<variable\$1name> |  *<variable\$1name>*rappresenta il nome di una variabile di fase.  | 
| \$1stageVariables['<variable\$1name>'] |  *<variable\$1name>*rappresenta qualsiasi nome di variabile di fase.  | 
| \$1\$1stageVariables['<variable\$1name>']\$1 |  *<variable\$1name>*rappresenta qualsiasi nome di variabile di fase.  | 
| \$1util.escapeJavaScript() |  Sfugge ai caratteri di una stringa utilizzando le regole delle JavaScript stringhe.  Questa funzione trasforma qualsiasi virgoletta singola (`'`) in virgoletta preceduta da un carattere escape (`\'`). Tuttavia, le virgolette singole con escape non sono valide in JSON. Di conseguenza, quando l'output di questa funzione viene usato in una proprietà JSON, devi modificare di nuovo qualsiasi virgoletta singola con carattere escape (`\'`) in virgoletta singola normale (`'`). Questo viene mostrato nell'esempio seguente:  <pre> $util.escapeJavaScript(data).replaceAll("\\'","'")</pre>   | 
| \$1util.parseJson() |   Da una stringa JSON restituisce una rappresentazione oggetto del risultato. Puoi usare il risultato di questa funzione per accedere agli elementi del payload e modificarli in modo nativo in Apache Velocity Template Language (VTL). Ad esempio, in presenza del payload seguente:  <pre>{"errorMessage":"{\"key1\":\"var1\",\"key2\":{\"arr\":[1,2,3]}}"}</pre>  E se usi il modello di mappatura seguente:  <pre>#set ($errorMessageObj = $util.parseJson($input.path('$.errorMessage')))<br />{<br />   "errorMessageObjKey2ArrVal" : $errorMessageObj.key2.arr[0]<br />}<br /></pre> Otterrai l'output seguente: <pre>{<br />   "errorMessageObjKey2ArrVal" : 1<br />}<br /></pre>  | 
| \$1util.urlEncode() | Converte una stringa nel formato «application/x-www-form-urlencoded». | 
| \$1util.urlDecode() | Decodifica una stringa «application/». x-www-form-urlencoded | 
| \$1util.base64Encode() | Codifica i dati in una stringa con codifica base64. | 
| \$1util.base64Decode() | Decodifica i dati da una stringa con codifica base64. | 