Differenze tra CloudFront Functions e Lambda @Edge - Amazon CloudFront

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

Differenze tra CloudFront Functions e Lambda @Edge

CloudFront Functions e Lambda @Edge forniscono entrambi un modo per eseguire codice in risposta agli CloudFront eventi.

CloudFront Functions è ideale per funzioni leggere e di breve durata per i seguenti casi d'uso:

  • Normalizzazione della chiave della cache: trasformare gli attributi delle richieste HTTP (intestazioni, stringhe di query, cookie, anche il percorso dell’URL) per creare una chiave della cache ottimale, che può migliorare la percentuale di riscontri nella cache.

  • Manipolazione delle intestazioni: inserire, modificare o eliminare intestazioni HTTP nella richiesta o nella risposta. Ad esempio, è possibile aggiungere una intestazione True-Client-IP a ogni richiesta.

  • Reindirizzamenti o riscritture di URL: reindirizzare i visualizzatori ad altre pagine in base alle informazioni nella richiesta o reindirizzare tutta la richiesta da un percorso a un altro.

  • Richiesta di autorizzazione: puoi convalidare token di autorizzazione con hash, come token Web JSON (JWT), ispezionando le intestazioni dell’autorizzazione o altri metadati della richiesta.

Per iniziare a usare CloudFront Functions, consultaPersonalizza a 360° con CloudFront Functions.

Lambda@Edge è la soluzione ideale per i seguenti casi d’uso:

  • Funzioni che richiedono diversi millisecondi o più per il completamento

  • Funzioni che richiedono CPU o memoria regolabili

  • Funzioni che dipendono da librerie di terze parti (incluso l' AWS SDK, per l'integrazione con altre Servizi AWS)

  • Funzioni che richiedono l’accesso alla rete per utilizzare servizi esterni per l’elaborazione

  • Funzioni che richiedono l’accesso al file system o l’accesso al corpo delle richieste HTTP

Per iniziare a utilizzare Lambda@Edge, consulta Personalizzazione al livello di edge con Lambda@Edge.

Per aiutarti a scegliere l'opzione per il tuo caso d'uso, usa la tabella seguente per comprendere le differenze tra CloudFront Functions e Lambda @Edge. Per informazioni sulle differenze che si applicano ai metodi di assistente di gestione alla modifica dell’origine, consulta Scegli tra CloudFront Functions e Lambda @Edge.

CloudFront Funzioni Lambda@Edge
Linguaggi di programmazione JavaScript (conforme alla ECMAScript versione 5.1) Node.js e Python
Origini eventi
  • Richiesta visualizzatore

  • Risposta visualizzatore

  • Richiesta visualizzatore

  • Risposta visualizzatore

  • Richiesta origine

  • Risposta origine

Supporta Amazon CloudFront KeyValueStore

CloudFront KeyValueStore supporta JavaScript solo il runtime 2.0

No

Dimensionare Fino a milioni di richieste al secondo Fino a 10.000 richieste al secondo per regione
Durata della funzione Submillisecondo

Fino a 30 secondi (richiesta e risposta del visualizzatore)

Fino a 30 secondi (richiesta origine e risposta origine)

Dimensione massima della memoria di funzione

2 MB

128 MB (richiesta e risposta del visualizzatore)

10.240 MB (10 GB) (richiesta origine e risposta origine)

Per ulteriori informazioni, consulta Quote di Lambda@Edge.

Dimensione massima del codice funzione e delle librerie incluse 10 KB

50 MB (richiesta e risposta del visualizzatore)

50 MB (richiesta origine e risposta origine)

Accesso alla rete No
Accesso al file system No
Accesso al corpo della richiesta No
Accesso alla geolocalizzazione e ai dati del dispositivo

No (richiesta visualizzatore e risposta visualizzatore)

Sì (richiesta origine e risposta origine)

Può creare e testare interamente all'interno CloudFront No
Registrazione delle funzioni e parametri