Esecuzione di un "Hello, World!" serverless con AWS Lambda
TUTORIAL
Panoramica
Questo tutorial illustra le nozioni di base per eseguire codice in AWS Lambda senza dover effettuare il provisioning o gestire alcun server. Mostreremo come creare una funzione "Hello World" in Lambda utilizzando la console di AWS Lambda. Spiegheremo inoltre come richiamare manualmente la funzione Lambda utilizzando dati di eventi di esempio e come interpretare i parametri in uscita.
Tutte le operazioni mostrate in questo tutorial possono essere eseguite nell'ambito del piano gratuito.
Esperienza AWS
Principiante
Tempo per il completamento
10 minuti
Costo richiesto per il completamento
Piano gratuito
Requisiti
- Account AWS
- Browser consigliato: l'ultima versione di Chrome o Firefox
[**]Gli account creati nelle ultime 24 ore potrebbero non avere ancora accesso a tutti i servizi richiesti per questo tutorial.
Servizi utilizzati
Ultimo aggiornamento
27 settembre 2023
Implementazione
I blueprint forniscono codice di esempio per eseguire piccole operazioni di elaborazione. La maggior parte degli schemi elabora gli eventi da eventi sorgente specifici, ad esempio Amazon S3, Amazon DynamoDB o applicazioni personalizzate.
a. Nella console AWS Lambda, scegli Crea funzione.
Nota: la console visualizza la pagina soltanto se non hai creato alcuna funzione Lambda. Se hai già creato delle funzioni, viene visualizzata la pagina Lambda > Funzioni. Nella pagina dell'elenco, scegli Crea una funzione per accedere alla pagina Crea funzione.
Una funzione Lambda è composta da codice, dipendenze associate e configurazione. Le informazioni di configurazione fornite includono le risorse di elaborazione che desideri allocare (ad esempio in termini di memoria), il timeout di esecuzione e un ruolo IAM che possa essere interpretato da AWS Lambda come esecutore della funzione Lambda.
Informazioni di base:
- Nome: immetti qui il nome della funzione Lambda. Per questo tutorial, useremo hello-world-python.
- Ruolo: sarà necessario creare un ruolo IAM (definito anche ruolo di esecuzione) con le autorizzazioni necessarie su cui AWS Lambda può fare affidamento per invocare la funzione Lambda per tuo conto.
- Nome ruolo: lambda_basic_execution.
Codice della funzione Lambda:
In questa sezione è possibile riesaminare il codice di esempio scritto in Python.
Per continuare a sviluppare la tua funzione:
b. Seleziona usa uno schema.
c. Nella casella Nome blueprint, assicurati che la funzione Hello world con il blueprint python 3.10 sia selezionata.
d. Nella casella Nome funzione, inserisci hello-world-python.
e. Per Ruolo di esecuzione, seleziona Crea un nuovo ruolo dai modelli di policy AWS.
f. Nella casella Nome ruolo, inserisci lambda_basic_execution.
g. Premi il pulsante Crea funzione.
Dopo aver creato la funzione, rivedi le altre impostazioni.
- Runtime: attualmente, puoi creare il codice della funzione Lambda in Java, Node.js, C#, Go o Python. Per questo tutorial, usiamo Python 3.10 come runtime.
- Handler: è possibile specificare un handler (un metodo o una funzione nel codice) in cui AWS Lambda possa avviare l'esecuzione del codice. AWS Lambda fornisce dati relativi ad eventi come input per l'handler, che elaborerà gli eventi.
In questo esempio, Lambda identifica l'evento dal codice di esempio, perciò il campo sarà compilato con lambda_function.lambda_handler.
La console mostra la funzione Lambda hello-world-python. È ora possibile testare la funzione, verificare i risultati e rivedere i log.
a. Seleziona Configura evento di test nel menu a discesa denominato Test.
b. L'editor a comparsa viene visualizzato per consentire l'inserimento di un evento e testare la funzione.
- Seleziona Crea nuovo evento.
- Inserisci il nome dell'evento, ad esempio HelloWorldEvent.
- Mantieni l'impostazione predefinita di Privato per le impostazioni di condivisione degli eventi.
- Scegli hello-world dall'elenco dei modelli.
- È possibile modificare i valori nel JSON di esempio; non modificare invece la struttura dell'evento. Per questo tutorial, sostituisci value1 con hello, world!.
Seleziona Crea.
d. Quando viene completata l'esecuzione, consulta i risultati nella console:
- La sezione Risultati esecuzione documenta la corretta esecuzione della funzione.
- La sezione Log della funzione mostrerà i log generati dall'esecuzione della funzione Lambda e le principali informazioni riportate nell'output del log.
AWS Lambda monitora le funzioni e genera report sui parametri automaticamente tramite Amazon CloudWatch. Per semplificare il monitoraggio del codice durante l'esecuzione, Lambda tiene traccia in modo automatico del numero di richieste, della latenza per richiesta e del numero di richieste con errore, pubblicandone i parametri associati.
a. Richiama la funzione Lambda più di una volta premendo ripetutamente il pulsante Esegui test. In questo modo verranno generati i parametri da visualizzare nella fase successiva.
b. Seleziona la scheda Monitoraggio per visualizzare i risultati.
c. Scorri verso il basso per visualizzare i parametri della funzione Lambda. I parametri di Lambda vengono segnalati tramite Amazon CloudWatch. I parametri possono essere sfruttati per impostare allarmi personalizzati. Per ulteriori informazioni su CloudWatch, consulta la Guida per gli sviluppatori di Amazon CloudWatch.
La scheda Monitoraggio mostrerà sette parametri di CloudWatch: chiamate, durata, numero di errori e percentuale di successo (%), limitazioni, errori di distribuzione asincroni, IteratorAge ed esecuzioni simultanee.
I prezzi di AWS Lambda sono calcolati in base all'uso effettivo. Quando viene superato il limite previsto dal piano gratuito di AWS Lambda, la tariffazione è basata sul numero di richieste per le funzioni (numero di richieste) e sulla durata di esecuzione del codice (durata delle chiamate). Per ulteriori informazioni, consulta la sezione dei Prezzi di AWS Lambda.
Anche se mantenere la funzione Lambda non determina alcun costo aggiuntivo, eliminarla tramite la console AWS Lambda è un'operazione molto semplice.
a. Seleziona il pulsante Operazioni e seleziona Elimina funzione.
Conclusioni
Congratulazioni! Hai creato la tua prima funzione AWS Lambda. È il primo passo verso l'esecuzione di applicazioni senza provisioning o gestione di server. Lambda ridimensiona le risorse delle applicazioni in modo automatico eseguendo il codice in risposta a determinati eventi, ricalibrandole esattamente in base ai carichi di lavoro.