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à.
Esecuzione di codice con Lambda
Quando scrivi una funzione Lambda, crei codice che verrà eseguito in un ambiente serverless unico. Comprendere come Lambda esegue effettivamente il codice implica due aspetti chiave: il modello di programmazione che definisce il modo in cui il codice interagisce con Lambda e il ciclo di vita dell'ambiente di esecuzione che determina il modo in cui Lambda gestisce l'ambiente di runtime del codice.
Il modello di programmazione Lambda
Il modello di programmazione funziona come un insieme comune di regole per il modo in cui Lambda interagisce con il tuo codice, indipendentemente dal fatto che tu stia scrivendo in Python, Java o in qualsiasi altro linguaggio supportato. Il modello di programmazione include il runtime e il gestore.
Per le funzioni standard:
-
Lambda riceve un evento.
-
Lambda utilizza il runtime per preparare l'evento in un formato utilizzabile dal codice.
-
Il runtime invia l'evento formattato al gestore.
-
Il tuo gestore elabora l'evento utilizzando il codice che hai scritto.
Per funzioni durevoli:
-
Lambda riceve un evento
-
Il runtime prepara sia l'evento che DurableContext
-
Il tuo gestore può:
Fasi del processo con checkpoint automatico
Metti in pausa l'esecuzione senza consumare risorse
Riprendi dall'ultimo checkpoint riuscito
Mantieni lo stato tra i passaggi
Essenziale per questo modello è il gestore al quale cui Lambda invia gli eventi che devono essere elaborati dal codice. Consideralo come il punto di ingresso per il tuo codice. Quando Lambda riceve un evento, lo trasmette al gestore insieme ad alcune informazioni di contesto. Il gestore esegue quindi il codice per elaborare questi eventi: ad esempio, potrebbe leggere un file quando viene caricato su Amazon S3, analizzare un'immagine o aggiornare un database. Una volta che il codice ha terminato l'elaborazione di un evento, il gestore è pronto per elaborare quello successivo.
Il modello di esecuzione Lambda
Mentre il modello di programmazione definisce il modo in cui Lambda interagisce con il codice, l'ambiente di esecuzione è il luogo in cui Lambda esegue effettivamente la tua funzione: è uno spazio di calcolo sicuro e isolato creato appositamente per la tua funzione.
Ogni ambiente segue un ciclo di vita che varia tra funzioni standard e durevoli:
Funzioni standard (fino a 15 minuti):
-
Inizializzazione: configurazione dell'ambiente e caricamento del codice
-
Invocazione: esecuzione singola del codice della funzione
-
Arresto: pulizia dell'ambiente
Funzioni durevoli (fino a 1 anno):
-
Inizializzazione: configurazione dell'ambiente e dello stato durevole
-
Invocazione: passaggi multipli con checkpoint automatico
-
Stati di attesa: sospende l'esecuzione senza consumo di risorse
-
Riprendi: riavvia dall'ultimo checkpoint
-
Arresto: pulizia dello stato durevole
Questo ambiente gestisce aspetti importanti dell'esecuzione della funzione. Fornisce memoria alla funzione, insieme a una directory /tmp per l'archiviazione temporanea. Per Durable Functions, gestisce anche:
Persistenza automatica dello stato tra i passaggi
Archiviazione e ripristino dei checkpoint
Attendi il coordinamento statale
Monitoraggio dei progressi nelle esecuzioni di lunga durata