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
Modello di programmazionefunziona 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 qualsiasi altro linguaggio supportato. Il modello di programmazione include il runtime e il gestore.
-
Lambda riceve un evento.
-
Lambda utilizza il runtime (come Python o Java) per preparare l'evento in un formato utilizzabile dal codice.
-
Il runtime invia l'evento formattato al gestore.
-
Il gestore elabora l'evento utilizzando il codice scritto nella funzione Lambda.
Essenziale per questo modello è il gestore, in cui Lambda invia gli eventi che devono essere elaborati dal codice. Consideralo come il punto di ingresso al tuo codice. Quando Lambda riceve un evento, trasmette questo evento e alcune informazioni di contesto al gestore. 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
Sebbene il modello di programmazione definisca il modo in cui Lambda interagisce con il codice, è Ambiente di esecuzione dove 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 di tre fasi.
-
Inizializzazione: Lambda crea l'ambiente e prepara tutto per eseguire la funzione. Ciò include la configurazione del runtime scelto, il caricamento del codice e l'esecuzione di qualsiasi codice di avvio che hai scritto.
-
Invocazione: quando arrivano gli eventi, Lambda utilizza questo ambiente per eseguire la funzione. L'ambiente può elaborare molti eventi nel tempo, uno dopo l'altro. Man mano che si verificano più eventi, Lambda crea ambienti aggiuntivi per gestire l'aumento della domanda. Quando la domanda diminuisce, Lambda blocca gli ambienti che non sono più necessari.
-
Arresto: alla fine, Lambda spegnerà gli ambienti. Prima di farlo, dà alla tua funzione la possibilità di ripulire le attività rimanenti.
Questo ambiente gestisce aspetti importanti dell'esecuzione della funzione. Fornisce alla funzione memoria e una /tmp
directory per l'archiviazione temporanea. Mantiene risorse come le connessioni al database tra le chiamate, in modo che la funzione possa riutilizzarle. Offre funzionalità come la concorrenza fornita, in cui Lambda prepara gli ambienti in anticipo per migliorare le prestazioni.