

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