Comprendi i concetti chiave di 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à.

Comprendi i concetti chiave di Lambda

Lambda è un servizio di elaborazione basato sugli eventi che esegue istanze della tua funzione per elaborare eventi. Puoi richiamare la tua funzione direttamente utilizzando API Lambda oppure puoi configurare AWS un servizio o una risorsa per richiamare la tua funzione.

Le sezioni seguenti descrivono alcuni concetti chiave delle funzioni Lambda, del modello di programmazione basato sugli eventi e dell'ambiente in cui viene eseguita la funzione.

Funzione

Una funzione è una risorsa che è possibile invocare per eseguire il codice in Lambda. Una funzione contiene un codice per elaborare gli eventi che passate alla funzione o che altri AWS servizi inviano alla funzione.

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, consulta Comprensione dei metodi di invocazione della funzione Lambda e Richiamare Lambda con eventi di altri servizi AWS.

Evento

Un evento è un documento in JSON formato elettronico che contiene dati da elaborare per una funzione Lambda. 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 AWS servizio richiama la funzione, definisce la forma dell'evento.

Esempio evento di servizio — SNS Notifica Amazon
{ "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 AWS servizi, consultaRichiamare 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 Comprendi il ciclo di vita dell'ambiente di esecuzione Lambda.

Pacchetto di implementazione

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

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 layer che crei sono privati del tuo AWS account. 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.

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 concorrenza è soggetta a quote a livello di AWS regione. È 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 Gestione delle versioni della funzione Lambda.

Destinazione

Una destinazione è una AWS risorsa 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 Aggiungere una destinazione.