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à.
Le seguenti restrizioni si applicano a tutte le funzioni edge, sia CloudFront Functions che Lambda @Edge.
Argomenti
Proprietà di Account AWS
Per associare una funzione edge a una CloudFront distribuzione, la funzione e la distribuzione devono essere di proprietà della stessa Account AWS.
Combinazione di CloudFront funzioni con Lambda @Edge
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.
CloudFront Funzioni |
|||
Richiesta visualizzatore |
Risposta visualizzatore |
||
Lambda@Edge |
Richiesta visualizzatore |
Non consentito |
Non consentito |
Richiesta origine |
Consentito |
Consentito |
|
Risposta origine |
Consentito |
Consentito |
|
Risposta visualizzatore |
Non consentito |
Non consentito |
Codici di stato HTTP
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 Aggiorna le risposte HTTP nei trigger di risposta di origine.
Intestazioni HTTP
Alcune intestazioni HTTP non sono consentite, il che significa che non sono esposte a funzioni edge e che le funzioni non possono aggiungerle. Le altre intestazioni sono di sola lettura, il che significa che le funzioni possono leggerle ma non possono aggiungerle, modificarle o eliminarle.
Intestazioni non consentite
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 a CloudFront convalidare 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
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
Le seguenti intestazioni sono di sola lettura per gli eventi di richiesta del visualizzatore.
-
Content-Length
-
Host
-
Transfer-Encoding
-
Via
Intestazioni di sola lettura negli eventi di richiesta di origine (solo Lambda@Edge)
Le seguenti intestazioni sono di sola lettura negli eventi di richiesta di origine, che esistono solo in Lambda @Edge.
-
Accept-Encoding
-
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)
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
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
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 Tuttiper 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, stringhe di query e intestazioni.
-
URI
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, stringhe di query e intestazioni
I valori per l'URI, la stringa di query e le intestazioni che vengono passati alle funzioni edge sono codificati in UTF-8. La funzione deve utilizzare la codifica UTF-8 per l'URI, la stringa di query e i valori di intestazione 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
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
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
Non è possibile aggiungere tag alle funzioni edge. Per ulteriori informazioni sull'inserimento di tag CloudFront, consultaEtichetta una distribuzione.