

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

# Restrizioni sulle funzioni edge
<a name="edge-functions-restrictions"></a>

I seguenti argomenti descrivono le restrizioni che si applicano a CloudFront Functions e Lambda @Edge. Alcune restrizioni si applicano a tutte le funzioni edge, mentre altre si applicano solo a CloudFront Functions o Lambda @Edge.

Ogni argomento fornisce informazioni dettagliate sui limiti e i vincoli da considerare quando si sviluppano e distribuiscono funzioni edge con. CloudFront 

La comprensione di queste limitazioni aiuta a garantire che le funzioni edge funzionino come previsto e siano conformi alle funzionalità supportate.

**Topics**
+ [Restrizioni su tutte le funzioni edge](edge-function-restrictions-all.md)
+ [Restrizioni sulle funzioni CloudFront](cloudfront-function-restrictions.md)
+ [Restrizioni su Lambda@Edge](lambda-at-edge-function-restrictions.md)

Per ulteriori informazioni sulle quote (precedentemente denominate limiti), consulta [Quote sulle funzioni CloudFront](cloudfront-limits.md#limits-functions) e [Quote di Lambda@Edge](cloudfront-limits.md#limits-lambda-at-edge).

# Restrizioni su tutte le funzioni edge
<a name="edge-function-restrictions-all"></a>

Le seguenti restrizioni si applicano a tutte le funzioni edge, sia CloudFront Functions che Lambda @Edge.

**Topics**
+ [Account AWS proprietà](#function-restrictions-account-ownership)
+ [Combinazione di CloudFront funzioni con Lambda @Edge](#function-restrictions-combining-functions)
+ [Codici di stato HTTP](#function-restrictions-status-codes)
+ [Intestazioni HTTP](#function-restrictions-headers)
+ [Stringhe di query](#function-restrictions-query-strings)
+ [URI](#function-restrictions-uri)
+ [Codifica di URI, stringa di query e intestazioni](#function-restrictions-encoding)
+ [Microsoft Smooth Streaming](#function-restrictions-microsoft-smooth-streaming)
+ [Assegnazione di tag](#function-restrictions-tagging)

## Account AWS proprietà
<a name="function-restrictions-account-ownership"></a>

Per associare una funzione periferica a una CloudFront distribuzione, la funzione e la distribuzione devono essere di proprietà della stessa Account AWS.

## Combinazione di CloudFront funzioni con Lambda @Edge
<a name="function-restrictions-combining-functions"></a>

Per un determinato comportamento della cache, si applicano le seguenti restrizioni:
+ Ogni tipo di evento (richiesta del visualizzatore, richiesta dell'origine, risposta dell'origine e risposta del visualizzatore) può avere una sola associazione di funzioni edge.
+ Non è possibile combinare CloudFront Functions e Lambda @Edge negli eventi del visualizzatore (richiesta e risposta del visualizzatore).

Sono consentite tutte le altre combinazioni di funzioni edge. Nella tabella seguente sono descritte le combinazioni consentite.

[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/AmazonCloudFront/latest/DeveloperGuide/edge-function-restrictions-all.html)

## Codici di stato HTTP
<a name="function-restrictions-status-codes"></a>

CloudFront non richiama le funzioni edge per gli eventi di risposta del visualizzatore quando l'origine restituisce il codice di stato HTTP 400 o superiore.

Le funzioni Lambda@Edge per gli eventi di risposta di origine vengono richiamate per *tutte* le risposte di origine, incluso quando l'origine restituisce il codice di stato HTTP 400 o superiore. Per ulteriori informazioni, consulta [Aggiornamento delle risposte HTTP nei trigger di risposta origine](lambda-generating-http-responses.md#lambda-updating-http-responses).

## Intestazioni HTTP
<a name="function-restrictions-headers"></a>

Alcune intestazioni HTTP non sono consentite, il che significa che non sono esposte a funzioni edge e che le funzioni non possono aggiungerle. Altre intestazioni sono di sola lettura, il che significa che possono essere lette dalle funzioni ma non possono essere aggiunte, modificate o eliminate.

**Topics**
+ [Intestazioni non consentite](#function-restrictions-disallowed-headers)
+ [Intestazioni di sola lettura](#function-restrictions-read-only-headers)

### Intestazioni non consentite
<a name="function-restrictions-disallowed-headers"></a>

Le seguenti intestazioni HTTP non sono esposte alle funzioni edge e le funzioni non possono aggiungerle. Se la funzione aggiunge una di queste intestazioni, non riesce la CloudFront convalida e CloudFront restituisce il codice di stato HTTP 502 (Bad Gateway) al visualizzatore.
+ `Connection` 
+ `Expect`
+ `Keep-Alive`
+ `Proxy-Authenticate`
+ `Proxy-Authorization`
+ `Proxy-Connection`
+ `Trailer`
+ `Upgrade`
+ `X-Accel-Buffering`
+ `X-Accel-Charset`
+ `X-Accel-Limit-Rate`
+ `X-Accel-Redirect`
+ `X-Amz-Cf-*`
+ `X-Amzn-Auth`
+ `X-Amzn-Cf-Billing`
+ `X-Amzn-Cf-Id`
+ `X-Amzn-Cf-Xff`
+ `X-Amzn-Errortype`
+ `X-Amzn-Fle-Profile`
+ `X-Amzn-Header-Count`
+ `X-Amzn-Header-Order`
+ `X-Amzn-Lambda-Integration-Tag`
+ `X-Amzn-RequestId`
+ `X-Cache`
+ `X-Edge-*`
+ `X-Forwarded-Proto`
+ `X-Real-IP`

### Intestazioni di sola lettura
<a name="function-restrictions-read-only-headers"></a>

Le intestazioni di seguito sono di sola lettura. La funzione può leggerle e utilizzarle come input per la logica della funzione, ma non può modificarne i valori. Se la funzione aggiunge o modifica un'intestazione di sola lettura, la richiesta non viene CloudFront convalidata e CloudFront restituisce il codice di stato HTTP 502 (Bad Gateway) al visualizzatore.

#### Intestazioni di sola lettura per eventi di richiesta del visualizzatore
<a name="function-restrictions-read-only-headers-viewer-request"></a>

Le seguenti intestazioni sono di sola lettura per gli eventi di richiesta del visualizzatore.
+ `CDN-Loop`
+ `Content-Length`
+ `Host`
+ `Transfer-Encoding`
+ `Via`

#### Intestazioni di sola lettura negli eventi di richiesta di origine (solo Lambda@Edge)
<a name="function-restrictions-read-only-headers-origin-request"></a>

Le seguenti intestazioni sono di sola lettura negli eventi di richiesta di origine, che esistono solo in Lambda @Edge.
+ `Accept-Encoding`
+ `CDN-Loop`
+ `Content-Length`
+ `If-Modified-Since`
+ `If-None-Match`
+ `If-Range`
+ `If-Unmodified-Since`
+ `Transfer-Encoding`
+ `Via`

#### Intestazioni di sola lettura negli eventi di risposta di origine (solo Lambda@Edge)
<a name="function-restrictions-read-only-headers-origin-response"></a>

Le seguenti intestazioni sono di sola lettura negli eventi di risposta di origine, che esistono solo in Lambda@Edge.
+ `Transfer-Encoding`
+ `Via`

#### Intestazioni di sola lettura per eventi di risposta del visualizzatore
<a name="function-restrictions-read-only-headers-viewer-response"></a>

Le seguenti intestazioni sono di sola lettura negli eventi di risposta del visualizzatore sia per Functions che per Lambda CloudFront @Edge.
+ `Warning`
+ `Via`

Le seguenti intestazioni sono di sola lettura per gli eventi di risposta del visualizzatore per Lambda@Edge.
+ `Content-Length`
+ `Content-Encoding`
+ `Transfer-Encoding`

## Stringhe di query
<a name="function-restrictions-query-strings"></a>

Le restrizioni seguenti si applicano alle funzioni che leggono, aggiornano o creano una stringa di query in un URI di richiesta.
+ (Solo Lambda@Edge) Per accedere alla stringa di query in una funzione di richiesta di origine o di risposta di origine, la policy della cache o la policy di richiesta di origine deve essere impostata su **Tutti**per **Stringhe di query**.
+ Una funzione può creare o aggiornare una stringa di query per gli eventi di richiesta del visualizzatore e richiesta di origine (gli eventi di richiesta origine esistono solo in Lambda@Edge).
+ Una funzione può leggere una stringa di query ma non può crearne o aggiornarne una per gli eventi di risposta origine e di risposta del visualizzatore (gli eventi di risposta origine esistono solo in Lambda@Edge).
+ Se una funzione crea o aggiorna una stringa di query, si applicano le seguenti restrizioni:
  + La stringa di query aggiornata non può includere spazi, caratteri di controllo o l'identificatore di frammento (`#`).
  + La dimensione totale dell'URI, compresa la stringa di query, deve essere inferiore a 8.192 caratteri.
  + Ti consigliamo di utilizzare la codifica percentuale per l'URI e la stringa di query. Per ulteriori informazioni, consulta [Codifica di URI, stringa di query e intestazioni](#function-restrictions-encoding).

## URI
<a name="function-restrictions-uri"></a>

Se una funzione modifica l'URI per una richiesta, il comportamento cache per la richiesta o l'origine a cui la richiesta viene inoltrata non viene modificato.

La dimensione totale dell'URI, compresa la stringa di query, deve essere inferiore a 8.192 caratteri.

## Codifica di URI, stringa di query e intestazioni
<a name="function-restrictions-encoding"></a>

I valori dell’URI, della stringa di query e delle intestazioni passati alle funzioni edge sono codificati UTF-8. La funzione deve utilizzare la codifica UTF-8 per i valori dell’URI, della stringa di query e delle intestazioni restituiti. La codifica percentuale è compatibile con la codifica UTF-8.

L'elenco seguente spiega come CloudFront gestisce la codifica per l'URI, la stringa di query e le intestazioni:
+ Quando i valori nella richiesta sono codificati in UTF-8, CloudFront li inoltra alla funzione senza modificarli.
+ Quando i valori nella richiesta sono codificati in [ISO-8859-1, CloudFront converte i valori nella codifica UTF-8 prima di inoltrarli](https://en.wikipedia.org/wiki/ISO/IEC_8859-1) alla tua funzione.
+ Quando i valori nella richiesta vengono codificati utilizzando un'altra codifica di caratteri, CloudFront presuppone che siano codificati in ISO-8859-1 e tenta di convertirli da ISO-8859-1 a UTF-8.
**Importante**  
I caratteri convertiti potrebbero essere un'interpretazione non accurata dei valori nella richiesta originale. In tal caso, una funzione o la tua origine potrebbe produrre un risultato inatteso.

I valori per l'URI, la stringa di query e le intestazioni che vengono inoltrati all'origine dipendono dal fatto che una funzione modifichi i valori: CloudFront 
+ Se una funzione non modifica l'URI, la stringa di query o l'intestazione, CloudFront inoltra i valori ricevuti nella richiesta all'origine.
+ Se una funzione modifica l'URI, la stringa di query o l'intestazione, CloudFront inoltra i valori con codifica UTF-8.

## Microsoft Smooth Streaming
<a name="function-restrictions-microsoft-smooth-streaming"></a>

Non puoi utilizzare le funzioni edge con una CloudFront distribuzione che stai utilizzando per lo streaming di file multimediali che hai transcodificato nel formato Microsoft Smooth Streaming.

## Assegnazione di tag
<a name="function-restrictions-tagging"></a>

Non è possibile aggiungere tag alle funzioni edge. Per ulteriori informazioni sull'aggiunta di tag, consulta CloudFront. [Tagging di una distribuzione](tagging.md)

# Restrizioni sulle funzioni CloudFront
<a name="cloudfront-function-restrictions"></a>

Le seguenti restrizioni si applicano solo alle CloudFront funzioni.

**Contents**
+ [Log](#cloudfront-function-restrictions-logs)
+ [Corpo della richiesta](#cloudfront-function-restrictions-request-body)
+ [Utilizzo di credenziali temporanee con l'API CloudFront KeyValueStore](#regional-endpoint-for-key-value-store)
+ [Runtime](#cloudfront-function-runtime-restrictions)
+ [Utilizzo di calcolo](#cloudfront-function-restrictions-compute-utilization)

Per ulteriori informazioni sulle quote (in precedenza denominate limiti), consulta [Quote sulle funzioni CloudFront](cloudfront-limits.md#limits-functions).

## Log
<a name="cloudfront-function-restrictions-logs"></a>

I registri CloudFront delle funzioni in Funzioni vengono troncati a 10 KB.

## Corpo della richiesta
<a name="cloudfront-function-restrictions-request-body"></a>

CloudFront Le funzioni non possono accedere al corpo della richiesta HTTP.

## Utilizzo di credenziali temporanee con l'API CloudFront KeyValueStore
<a name="regional-endpoint-for-key-value-store"></a>

È possibile utilizzare AWS Security Token Service (AWS STS) per generare credenziali di sicurezza temporanee (note anche come *token di sessione*). I token di sessione consentono di assumere temporaneamente un ruolo AWS Identity and Access Management (IAM) in modo da poter accedere. Servizi AWS

Per chiamare l'[CloudFront KeyValueStore API](https://docs.aws.amazon.com/cloudfront/latest/APIReference/API_Operations_Amazon_CloudFront_KeyValueStore.html), utilizza un endpoint *regionale* in AWS STS per restituire un token di sessione *versione 2*. Se utilizzi l'endpoint *globale* for AWS STS (`sts.amazonaws.com`), AWS STS genererà un token di sessione *versione 1*, che non è supportato da Signature Version 4A (SigV4A). Di conseguenza, riceverai un errore di autenticazione.

Per chiamare l' CloudFront KeyValueStore API, puoi utilizzare le seguenti opzioni: 

**AWS CLI e AWS SDKs**  
Puoi configurare AWS CLI o un AWS SDK per utilizzare gli AWS STS endpoint regionali. Per ulteriori informazioni, consulta [Endpoint regionali AWS STS](https://docs.aws.amazon.com/sdkref/latest/guide/feature-sts-regionalized-endpoints.html) nella *Guida di riferimento agli strumenti e agli SDK AWS *.  
*Per ulteriori informazioni sugli AWS STS endpoint disponibili, consulta [Regioni ed endpoint](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_enable-regions.html#id_credentials_region-endpoints) nella Guida per l'utente IAM.*

**SAML**  
Puoi configurare SAML per utilizzare gli endpoint regionali. AWS STS Per ulteriori informazioni, consulta il post del blog [How to use regional SAML endpoints for failover](https://aws.amazon.com/blogs/security/how-to-use-regional-saml-endpoints-for-failover/).

**API `SetSecurityTokenServicePreferences`**  
Invece di utilizzare un AWS STS endpoint regionale, puoi configurare l'endpoint globale per AWS STS restituire i token di sessione della versione 2. A tale scopo, utilizza l'operazione [SetSecurityTokenServicePreferences](https://docs.aws.amazon.com/IAM/latest/APIReference/API_SetSecurityTokenServicePreferences.html)API per configurare il tuo. Account AWS  

**Example Esempio: comando della CLI IAM**  

```
aws iam set-security-token-service-preferences --global-endpoint-token-version v2Token
```
Ti consigliamo di utilizzare gli endpoint AWS STS regionali anziché questa opzione. Gli endpoint regionali offrono una maggiore disponibilità e scenari di failover.

**Provider di identità personalizzato**  
Se utilizzi un provider di identità personalizzato che esegue la federazione e assume il ruolo, utilizza una delle opzioni precedenti per il sistema provider di identità principale responsabile della generazione del token di sessione.

## Runtime
<a name="cloudfront-function-runtime-restrictions"></a>

L'ambiente di runtime di CloudFront Functions non supporta la valutazione dinamica del codice e limita l'accesso alla rete, al file system, alle variabili di ambiente e ai timer. Per ulteriori informazioni, consulta [Funzionalità con restrizioni](functions-javascript-runtime-10.md#writing-functions-javascript-features-restricted-features).

**Nota**  
Per essere utilizzata CloudFront KeyValueStore, la CloudFront funzione deve utilizzare [JavaScript runtime](functions-javascript-runtime-20.md) 2.0.

## Utilizzo di calcolo
<a name="cloudfront-function-restrictions-compute-utilization"></a>

CloudFront Le funzioni hanno un limite al tempo che possono impiegare per l'esecuzione, misurato come *utilizzo del calcolo*. L'utilizzo di calcolo è un numero compreso tra 0 e 100 che indica il tempo impiegato dalla funzione per l'esecuzione come percentuale del tempo massimo consentito. Ad esempio, un utilizzo di calcolo di 35 significa che la funzione è stata completata nel 35% del tempo massimo consentito.

Quando si esegue il [test di una funzione](test-function.md), è possibile visualizzare il valore di utilizzo di calcolo nell'output dell'evento di test. Per le funzioni di produzione, puoi visualizzare la [metrica di utilizzo del calcolo](viewing-cloudfront-metrics.md#monitoring-console.cloudfront-functions) [nella pagina Monitoraggio della console o in](https://console.aws.amazon.com/cloudfront/v4/home?#/monitoring). CloudFront CloudWatch

# Restrizioni su Lambda@Edge
<a name="lambda-at-edge-function-restrictions"></a>

A Lambda@Edge si applicano le seguenti restrizioni.

**Contents**
+ [Risoluzione DNS](#lambda-at-edge-restrictions-dns)
+ [Codici di stato HTTP](#lambda-at-edge-restrictions-status-codes)
+ [Versione delle funzioni Lambda](#lambda-at-edge-restrictions-version)
+ [Regione Lambda](#lambda-at-edge-restrictions-region)
+ [Autorizzazioni del ruolo Lambda](#lambda-at-edge-restrictions-role-permissions)
+ [Caratteristiche di Lambda](#lambda-at-edge-restrictions-features)
+ [Runtime supportati](#lambda-at-edge-restrictions-runtime)
+ [CloudFront intestazioni](#lambda-at-edge-restrictions-cloudfront-headers)
+ [Restrizioni sul corpo della richiesta con l'opzione Includi corpo](#lambda-at-edge-restrictions-request-body)
+ [Timeout di risposta e timeout keep-alive (solo origini personalizzate)](#timeout-for-lambda-edge-functions)

Per informazioni sulle quote, consulta [Quote di Lambda@Edge](cloudfront-limits.md#limits-lambda-at-edge).

## Risoluzione DNS
<a name="lambda-at-edge-restrictions-dns"></a>

CloudFront esegue una risoluzione DNS sul nome di dominio di origine *prima di* eseguire la funzione Lambda @Edge della richiesta di origine. Se il servizio DNS per il tuo dominio presenta problemi e non CloudFront riesce a risolvere il nome di dominio per ottenere l'indirizzo IP, la funzione Lambda @Edge non verrà richiamata. CloudFrontrestituirà un [codice di stato HTTP 502 (Bad Gateway)](http-502-bad-gateway.md) al client. Per ulteriori informazioni, consulta [Errore DNS (`NonS3OriginDnsError`)](http-502-bad-gateway.md#http-502-dns-error).

Se la logica della funzione modifica il nome di dominio di origine, CloudFront eseguirà un'altra risoluzione DNS sul nome di dominio aggiornato al termine dell'esecuzione della funzione.

Per ulteriori informazioni sulla gestione del failover DNS, consulta [Configurazione di un failover DNS](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/dns-failover-configuring.html) nella *Guida per gli sviluppatori di Amazon Route 53*.

## Codici di stato HTTP
<a name="lambda-at-edge-restrictions-status-codes"></a>

Le funzioni Lambda @Edge per gli eventi di risposta del visualizzatore non possono modificare il codice di stato HTTP della risposta, indipendentemente dal fatto che la risposta provenga dall'origine o dalla CloudFront cache.

## Versione delle funzioni Lambda
<a name="lambda-at-edge-restrictions-version"></a>

È necessario utilizzare una versione numerata della funzione Lambda, non `$LATEST` né alias.

## Regione Lambda
<a name="lambda-at-edge-restrictions-region"></a>

La funzione Lambda deve trovarsi nella regione Stati Uniti orientali (Virginia settentrionale).

## Autorizzazioni del ruolo Lambda
<a name="lambda-at-edge-restrictions-role-permissions"></a>

Il ruolo di esecuzione IAM associato alla funzione Lambda deve consentire ai principali del servizio `lambda.amazonaws.com` e `edgelambda.amazonaws.com` di assumere il ruolo. Per ulteriori informazioni, consulta [Configurazione di ruoli e autorizzazioni IAM per Lambda@Edge](lambda-edge-permissions.md).

## Caratteristiche di Lambda
<a name="lambda-at-edge-restrictions-features"></a>

Le seguenti funzionalità Lambda non sono supportate da Lambda@Edge:
+ [Configurazioni di gestione del runtime Lambda](https://docs.aws.amazon.com/lambda/latest/dg/runtimes-update.html#runtime-management-controls) diverse da **Auto** (impostazione predefinita)
+ Configurazione della funzione Lambda per accedere a risorse presenti nel VPC
+ [Code di lettere morte per la funzione Lambda](https://docs.aws.amazon.com/lambda/latest/dg/invocation-async.html#dlq)
+ [Variabili di ambiente Lambda](https://docs.aws.amazon.com/lambda/latest/dg/configuration-envvars.html) (ad eccezione delle variabili di ambiente riservate, che sono supportate automaticamente)
+ Funzioni Lambda con [Gestione delle dipendenze AWS Lambda con livelli](https://docs.aws.amazon.com/lambda/latest/dg/chapter-layers.html)
+ [Uso di AWS X-Ray](https://docs.aws.amazon.com/lambda/latest/dg/lambda-x-ray.html)
+ Concorrenza con provisioning di Lambda
**Nota**  
Le funzioni Lambda@Edge condividono le stesse funzionalità di [concorrenza regionale](https://docs.aws.amazon.com/lambda/latest/dg/configuration-concurrency.html) di tutte le funzioni Lambda. Per ulteriori informazioni, consulta [Quote di Lambda@Edge](cloudfront-limits.md#limits-lambda-at-edge).
+ [Creare una funzione Lambda utilizzando un'immagine del contenitore](https://docs.aws.amazon.com/lambda/latest/dg/images-create.html)
+ [Funzioni Lambda che utilizzano l'architettura arm64](https://docs.aws.amazon.com/lambda/latest/dg/foundation-arch.html)
+ Funzioni Lambda con più di 512 MB di archiviazione temporanea.
+ Utilizzo di una [chiave gestita dal cliente per crittografare i pacchetti di implementazione .zip](https://docs.aws.amazon.com/lambda/latest/dg/encrypt-zip-package.html)

## Runtime supportati
<a name="lambda-at-edge-restrictions-runtime"></a>

Lambda@Edge supporta le versioni più recenti dei runtime Node.js e Python. Per un elenco delle versioni supportate e delle relative date future di obsolescenza, consulta [Runtime supportati](https://docs.aws.amazon.com/lambda/latest/dg/lambda-runtimes.html#runtimes-supported) nella *Guida per gli sviluppatori di AWS Lambda *.

**Suggerimento**  
Come best practice, utilizza le versioni più recenti dei runtime forniti per migliorare le prestazioni e usufruire delle nuove funzionalità.
Non è possibile creare o aggiornare funzioni con questa versione obsoleta di Node.js. È possibile associare le funzioni esistenti a queste versioni solo alle distribuzioni. CloudFront Le funzioni con queste versioni associate a distribuzioni continueranno a essere eseguite. Tuttavia, ti consigliamo di trasferire la funzione alle versioni più recenti di Node.js. Per ulteriori informazioni, consulta la [politica di deprecazione del Runtime](https://docs.aws.amazon.com/lambda/latest/dg/runtime-support-policy.html) nella *AWS Lambda Developer Guide* e la pianificazione del rilascio di [Node.js](https://github.com/nodejs/Release#release-schedule) su. GitHub

## CloudFront intestazioni
<a name="lambda-at-edge-restrictions-cloudfront-headers"></a>

Le funzioni Lambda @Edge possono leggere, modificare, rimuovere o aggiungere qualsiasi CloudFront intestazione elencata in. [Aggiungi intestazioni CloudFront di richiesta](adding-cloudfront-headers.md)

**Note**  
Se desideri CloudFront aggiungere queste intestazioni, devi configurarle CloudFront per aggiungerle utilizzando una politica di [cache o una politica](controlling-the-cache-key.md) di richiesta di [origine](controlling-origin-requests.md).
CloudFront aggiunge le intestazioni *dopo* l'evento di richiesta del visualizzatore, il che significa che le intestazioni non sono disponibili per le funzioni Lambda @Edge in una richiesta del visualizzatore. Le intestazioni sono disponibili solo per le funzioni Lambda@Edge in una richiesta origine e una risposta origine.
Se la richiesta del visualizzatore include intestazioni con questi nomi e hai configurato CloudFront per aggiungere queste intestazioni utilizzando una policy di [cache o una policy](controlling-the-cache-key.md) di [richiesta di origine](controlling-origin-requests.md), CloudFront sovrascrive i valori di intestazione presenti nella richiesta del visualizzatore. Le funzioni rivolte al visualizzatore vedono il valore dell'intestazione della richiesta del visualizzatore, mentre le funzioni rivolte all'origine vedono il valore di intestazione aggiunto. CloudFront
Se una funzione di richiesta del visualizzatore aggiunge l'`CloudFront-Viewer-Country`intestazione, non riesce la convalida e CloudFront restituisce il codice di stato HTTP 502 (Bad Gateway) al visualizzatore.

## Restrizioni sul corpo della richiesta con l'opzione Includi corpo
<a name="lambda-at-edge-restrictions-request-body"></a>

Quando si sceglie l’opzione **Includi corpo** per esporre il corpo della richiesta alla funzione Lambda@Edge, si applicano i seguenti limiti di informazioni e dimensioni per le parti del corpo che vengono esposte o sostituite.
+ CloudFront sempre base64 codifica il corpo della richiesta prima di esporlo a Lambda @Edge.
+ Se il corpo della richiesta è grande, lo CloudFront tronca prima di esporlo a Lambda @Edge, come segue:
  + Per gli eventi di richiesta del visualizzatore, il corpo è troncato a 40 KB.
  + Per gli eventi di richiesta di origine, il corpo è troncato a 1 MB.
+ Se accedi al corpo della richiesta in modalità di sola lettura, CloudFront invia il corpo completo della richiesta originale all'origine.
+ Se la funzione Lambda@Edge sostituisce il corpo della richiesta, si applicano i seguenti limiti di dimensioni per il corpo restituito dalla funzione:
  + Se la funzione Lambda@Edge restituisce il corpo come testo semplice:
    + Per gli eventi di richiesta visualizzatore, il limite del corpo è 40 KB.
    + Per gli eventi di richiesta origine, il limite del corpo è 1 MB.
  + Se la funzione Lambda@Edge restituisce il corpo codificato in base64:
    + Per gli eventi di richiesta visualizzatore, il limite del corpo è 53,2 KB.
    + Per gli eventi di richiesta origine, il limite del corpo è 1,33 MB.

**Nota**  
Se la funzione Lambda@Edge restituisce un corpo che supera questi limiti, la richiesta avrà esito negativo con un codice di stato HTTP 502 ([Errore di convalida Lambda](http-502-bad-gateway.md#http-502-lambda-validation-error)). Ti consigliamo di aggiornare la funzione Lambda@Edge in modo che il corpo non superi questi limiti.

## Timeout di risposta e timeout keep-alive (solo origini personalizzate)
<a name="timeout-for-lambda-edge-functions"></a>

Se utilizzi le funzioni Lambda@Edge per impostare il timeout di risposta o il timeout keep-alive per le origini di distribuzione, verifica di specificare un valore supportato dall’origine. Per ulteriori informazioni, consulta [Quote timeout di risposta e keep-alive](DownloadDistValuesOrigin.md#response-keep-alive-timeout-quota).