Concetti Lambda - AWS Lambda

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

Concetti Lambda

Lambda esegue istanze della funzione per elaborare gli eventi. Puoi richiamare la funzione direttamente tramite l'API Lambda oppure configurare un servizio o una risorsa AWS per richiamarla.

Funzione

Una funzione è una risorsa che è possibile invocare per eseguire il codice in Lambda. Una funzione dispone di codice per elaborare gli eventi trasmessi da te o inviati da altri servizi AWS.

Trigger

Un trigger è una risorsa o una configurazione che richiama una funzione Lambda. Le attivazioni includono AWS i servizi che possono essere configurati per richiamare una funzione e le mappature delle fonti eventi. Una mappatura delle origini eventi è una risorsa in Lambda che legge gli elementi da un flusso o da una coda e invoca una funzione. Per ulteriori informazioni, consultare Comprensione dei metodi di invocazione della funzione Lambda e Richiamare Lambda con eventi di altri servizi AWS.

Evento

Un evento è un documento in formato JSON formattato che contiene i dati che una funzione Lambda deve elaborare. Il runtime converte l'evento in un oggetto e lo passa al codice della funzione. Quando si invoca una funzione, si determina la struttura e il contenuto dell'evento.

Esempio evento personalizzato – dati meteo
{ "TemperatureK": 281, "WindKmh": -3, "HumidityPct": 0.55, "PressureHPa": 1020 }

Quando un servizio AWS richiama la funzione, il servizio definisce la forma dell'evento.

Esempio Evento di servizio – Notifica Amazon SNS
{ "Records": [ { "Sns": { "Timestamp": "2019-01-02T12:45:07.000Z", "Signature": "tcc6faL2yUC6dgZdmrwh1Y4cGa/ebXEkAi6RibDsvpi+tE/1+82j...65r==", "MessageId": "95df01b4-ee98-5cb9-9903-4c221d41eb5e", "Message": "Hello from SNS!", ...

Per ulteriori informazioni sugli eventi dei servizi AWS, consulta Richiamare Lambda con eventi di altri servizi AWS.

Ambiente di esecuzione

Un ambiente di esecuzione fornisce un ambiente di runtime sicuro e isolato per la funzione Lambda. Un ambiente di esecuzione gestisce i processi e le risorse necessari per eseguire la funzione. L'ambiente di esecuzione fornisce il supporto del ciclo di vita per la funzione e per tutte le estensioni ad essa associate.

Per ulteriori informazioni, consulta Ambiente di esecuzione Lambda.

Architettura del set di istruzioni

L'architettura del set di istruzioni determina il tipo di processore del computer utilizzato da Lambda per eseguire la funzione. Lambda offre una scelta di architetture del set di istruzioni:

  • arm64: architettura ARM a 64 bit, per il processore AWS Graviton2.

  • x86_64: architettura x86 a 64 bit, per processori basati su x86.

Per ulteriori informazioni, consulta Configurazione dell'architettura del set di istruzioni per una funzione Lambda.

Pacchetto di implementazione

Implementa il codice della funzione Lambda tramite un pacchetto di implementazione. Lambda supporta due tipi di pacchetti di implementazione:

  • Un archivio di file .zip contenente il codice della funzione e le relative dipendenze. Lambda fornisce il sistema operativo e il runtime per la funzione.

  • Un'immagine di container compatibile con la specifica OCI (Open Container Initiative). Aggiungi il codice della funzione e le dipendenze all'immagine. È inoltre necessario includere il sistema operativo e un runtime Lambda.

Per ulteriori informazioni, consulta Pacchetti di implementazione Lambda.

Runtime

Il runtime fornisce un ambiente specifico del linguaggio di programmazione che viene eseguito in un ambiente di esecuzione. Il runtime inoltra eventi di chiamata, informazioni di contesto e risposte tra Lambda e la funzione. Puoi utilizzare i runtime forniti da Lambda o puoi crearne uno personalizzato. Se impacchetti il codice come archivio di file .zip, devi configurare la funzione per utilizzare un runtime che corrisponda al linguaggio di programmazione. Includi il runtime per un'immagine del container nel momento in cui la crei.

Per ulteriori informazioni, consulta Runtime Lambda.

Livello

Un livello Lambda è un archivio di file con estensione .zip che può contenere codice o dati aggiuntivi. Un livello può contenere librerie, un runtime personalizzato, dati o file di configurazione.

I livelli offrono un metodo pratico per impacchettare le librerie e altre dipendenze che è possibile utilizzare insieme alle funzioni Lambda. L'uso dei livelli riduce le dimensioni degli archivi di implementazione caricati e accelera la distribuzione del codice. I livelli promuovono anche la condivisione del codice e la separazione delle responsabilità in modo da poter iterare più velocemente la scrittura della logica di business.

Puoi includere fino a cinque livelli per funzione. I livelli influiscono sulle quote delle dimensioni di implementazione standard di Lambda. Quando si include un livello in una funzione, il contenuto viene estratto nella directory /opt nell'ambiente di esecuzione.

Per impostazione predefinita, i livelli creati sono privati per il tuo account AWS. Puoi decidere di condividere un livello con altri account o di rendere il livello pubblico. Se le funzioni consumano un livello che un altro account ha pubblicato, le funzioni possono continuare a utilizzare la versione del livello dopo che questo è stato eliminato, o dopo che l'autorizzazione ad accedere al livello è stata revocata. Non è tuttavia possibile creare una nuova funzione o aggiornare le funzioni utilizzando la versione di un livello eliminato.

Le funzioni implementate come immagine container non utilizzano i livelli. Il runtime, le librerie e altre dipendenze preferite vanno impacchettati invece nell'immagine del container nel momento quando la crei.

Per ulteriori informazioni, consulta Gestione delle dipendenze Lambda con livelli.

Estensione

Le estensioni Lambda consentono di aumentare le funzioni. Ad esempio, è possibile utilizzare le estensioni per integrare le funzioni con gli strumenti di monitoraggio, osservabilità, sicurezza e strumenti di governance preferiti. È possibile scegliere tra un ampio set di strumenti forniti dai Partner AWS Lambda oppure creare estensioni Lambda personalizzate.

Un'estensione interna viene eseguita nel processo di runtime e condivide lo stesso ciclo di vita del runtime. Un'estensione esterna viene eseguita come processo separato nell'ambiente di esecuzione. L'estensione esterna viene inizializzata prima che la funzione venga richiamata, viene eseguita in parallelo con il runtime della funzione e continua a funzionare al termine dell'invocazione della funzione.

Per ulteriori informazioni, consulta Potenzia le funzioni Lambda utilizzando le estensioni Lambda.

Simultaneità

Simultaneità è il numero di richieste che la funzione sta elaborando in un dato momento. Quando la funzione viene richiamata, Lambda effettua il provisioning di un'istanza per elaborare l'evento. Quando il codice della funzione termina l'esecuzione, può gestire un'altra richiesta. Se la funzione viene invocata nuovamente mentre una richiesta è ancora in fase di elaborazione, viene effettuato il provisioning di un'altra istanza, aumentando la simultaneità della funzione.

La simultaneità è soggetta a quote a livello di regione AWS. È anche possibile configurare singole funzioni per limitare la loro simultaneità o per garantire che possano raggiungere un determinato livello di simultaneità. Per ulteriori informazioni, consulta Configurazione della concorrenza riservata per una funzione.

Qualificatore

Quando si richiama o si visualizza una funzione, è possibile includere un qualificatore per specificare una versione o un alias. Una versione è uno snapshot immutabile del codice e della configurazione di una funzione che ha un qualificatore numerico. Ad esempio, my-function:1. Un alias è un puntatore a una versione che è possibile aggiornare per eseguire il mapping a una versione diversa o dividere il traffico tra due versioni. Ad esempio, my-function:BLUE. Puoi utilizzare versioni e alias contemporaneamente per fornire un'interfaccia stabile ai client per richiamare la funzione.

Per ulteriori informazioni, consulta Versioni delle funzioni Lambda.

Destinazione

Una destinazione è una risorsa AWS in cui Lambda può inviare eventi da una chiamata asincrona. Puoi configurare una destinazione per gli eventi la cui elaborazione non è riuscita. Alcuni servizi supportano anche una destinazione per gli eventi che vengono elaborati correttamente.

Per ulteriori informazioni, consulta Configurazione delle destinazioni per l'invocazione asincrona.