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 Lambda@Edge si applicano le seguenti restrizioni.
Indice
- DNSrisoluzione
- HTTPcodici di stato
- Versione delle funzioni Lambda
- Regione Lambda
- Autorizzazioni del ruolo Lambda
- Caratteristiche di Lambda
- Runtime supportati
- CloudFrontintestazioni
- Restrizioni sul corpo della richiesta con l'opzione Includi corpo
- Timeout di risposta e timeout keep-alive (solo origini personalizzate)
Per informazioni sulle quote, consulta Quote di Lambda@Edge.
DNSrisoluzione
CloudFront esegue una DNS risoluzione sul nome di dominio di origine prima di eseguire la funzione Lambda @Edge della richiesta di origine. Se il DNS servizio 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) al client. Per ulteriori informazioni, consulta DNSerrore () NonS3OriginDnsError.
Per ulteriori informazioni sulla gestione del DNS failover, consulta la sezione Configurazione del DNS failover nella Amazon Route 53 Developer Guide.
HTTPcodici di stato
Le funzioni Lambda @Edge per gli eventi di risposta del visualizzatore non possono modificare il codice di HTTP stato della risposta, indipendentemente dal fatto che la risposta provenga dall'origine o dalla CloudFront cache.
Versione delle funzioni Lambda
È necessario utilizzare una versione numerata della funzione Lambda, non $LATEST
né alias.
Regione Lambda
La funzione Lambda deve trovarsi nella regione Stati Uniti orientali (Virginia settentrionale).
Autorizzazioni del ruolo Lambda
Il ruolo di IAM esecuzione associato alla funzione Lambda deve consentire ai responsabili del servizio lambda.amazonaws.com
e edgelambda.amazonaws.com
assumere il ruolo. Per ulteriori informazioni, consulta Configura IAM le autorizzazioni e i ruoli per Lambda @Edge.
Caratteristiche di Lambda
Le seguenti funzionalità Lambda non sono supportate da Lambda@Edge:
-
Configurazioni di gestione del runtime Lambda diverse da Auto (impostazione predefinita)
-
Configurazione della funzione Lambda per accedere alle risorse all'interno del VPC
-
Variabili di ambiente Lambda (ad eccezione delle variabili di ambiente riservate, che sono supportate automaticamente)
-
Funzioni Lambda con Gestione delle AWS Lambda dipendenze con livelli
-
Concorrenza con provisioning di Lambda
Nota
Le funzioni Lambda @Edge hanno le stesse funzionalità di concorrenza regionale delle funzioni Lambda. Tuttavia, quando la quota viene aumentata per le esecuzioni Lambda @Edge simultanee, la quota viene aumentata per tutte le aree Regioni AWS in cui viene replicata la funzione Lambda @Edge. Per ulteriori informazioni, consulta Quote di Lambda@Edge.
-
Creare una funzione Lambda utilizzando un'immagine del contenitore
-
Funzioni Lambda con oltre 512 MB di storage temporaneo
-
Acquisizione dei log delle funzioni Lambda in formato strutturato JSON
-
Controllo della granularità a livello di log dei log delle funzioni Lambda
-
Impostazione del gruppo di CloudWatch log Amazon a cui Lambda invia i log
Runtime supportati
Lambda@Edge supporta le funzioni Lambda con i seguenti runtime:
Node.js |
Python |
---|---|
|
|
¹ Questa versione di Node.js ha raggiunto la fine del ciclo di vita e sarà presto obsoleta da. AWS Lambda
²Questa versione di Node.js ha raggiunto la fine del ciclo di vita ed è completamente obsoleta da. AWS Lambda
Non è possibile creare o aggiornare funzioni con versioni obsolete di Node.js. È possibile associare le funzioni esistenti a queste versioni solo alle distribuzioni. CloudFront Le funzioni con queste versioni associate alle distribuzioni continueranno a funzionare. Tuttavia, si consiglia di spostare la funzione su versioni più recenti di Node.js. Per ulteriori informazioni, consulta la politica di deprecazione del Runtime nella AWS Lambda Developer Guide e la pianificazione del rilascio di Node.js
Suggerimento
Come procedura ottimale, utilizzate le versioni più recenti dei runtime forniti per migliorare le prestazioni e aggiungere nuove funzionalità.
CloudFrontintestazioni
Le funzioni Lambda @Edge possono leggere, modificare, rimuovere o aggiungere qualsiasi CloudFront intestazione elencata in. Aggiungi intestazioni CloudFront di richiesta
Note
-
Se desideri CloudFront aggiungere queste intestazioni, devi configurarle CloudFront per aggiungerle utilizzando una politica di cache o una politica di richiesta di origine.
-
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 di origine e una risposta di 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 di richiesta di origine, 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, fallisce la convalida e CloudFront restituisce il codice di HTTP stato 502 (Bad Gateway) al visualizzatore.
Restrizioni sul corpo della richiesta con l'opzione Includi corpo
Quando scegli l'opzione Include Body per esporre il corpo della richiesta alla tua funzione Lambda @Edge, le seguenti informazioni e limiti di dimensione si applicano alle 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, al corpo restituito dalla funzione si applicano i seguenti limiti di dimensione:
-
Se la funzione Lambda@Edge restituisce il corpo come testo semplice:
-
Per gli eventi di richiesta del visualizzatore, il limite del corpo è di 40 KB.
-
Per gli eventi di richiesta di origine, il limite del corpo è di 1 MB.
-
-
Se la funzione Lambda@Edge restituisce il corpo codificato in base64:
-
Per gli eventi di richiesta dei visualizzatori, il limite del corpo è 53,2 KB.
-
Per gli eventi di richiesta di 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 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)
Se utilizzi le funzioni Lambda @Edge per impostare il timeout di risposta o il timeout keep-alive per le origini della distribuzione, verifica di specificare un valore che l'origine può supportare. Per ulteriori informazioni, consulta Quote di timeout di risposta e keep-alive.