con AWS Lambda
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.
Esegui codice serverless in AWS Richiede un account
Crea un account gratuito in pochi minutiIl piano gratuito di AWS include 1 milione di richieste e fino a 3,2 milioni di secondi di tempo di elaborazione al mese con AWS Lambda.
Visualizza i dettagli del piano gratuito di AWS »
Facendo clic qui, la Console di gestione AWS si aprirà in una nuova finestra del browser, così sarà possibile mantenere questa guida dettagliata aperta. Individua Lambda in Calcolo e fai clic per aprire la console di AWS Lambda.
I piani forniscono codice di esempio che consentono piccole operazioni di elaborazione. La maggior parte dei piani elabora gli eventi da eventi sorgente specifici, ad esempio Amazon S3, DynamoDB o applicazioni personalizzate.
a. a. Nella console AWS Lambda, seleziona Crea una 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 > Functions (Lambda > Funzioni). Nella pagina dell’elenco, scegli Crea una funzione per accedere alla pagina corrispondente.
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.
a. In questo modo accedi alle Informazioni di base sulla tua funzione Lambda.
- Nome: immetti qui il nome della funzione Lambda. Per questo tutorial, inserisci hello-world-python.
- Ruolo: sarà necessario creare un ruolo IAM (definito anche ruolo di esecuzione) con le autorizzazioni necessarie perché sia interpretato da AWS Lambda come esecutore della funzione Lambda. Seleziona Create new role from template(s) (Crea nuovo ruolo dai modelli).
- Nome ruolo: digita lambda_basic_execution
- In questa sezione è possibile riesaminare il codice di esempio scritto in Python.
b. Scorri fino in fondo alla pagina e seleziona Create Function (Crea funzione).
c. Runtime: attualmente, puoi creare il codice della funzione Lambda in Java, Node.js, C#, Go o Python. Per questo tutorial, lascialo selezionato su Python 2.7 come runtime.
d. 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: ed è ora possibile testare la funzione, verificarne i risultati e visualizzarne i log.
b. L’editor a comparsa viene visualizzato per consentire l’inserimento di un evento e testare la funzione.
- Seleziona Hello World dall'elenco dei modelli Eventi di esempio nella pagina Input test event (Inserisci eventi di test).
- Inserisci il nome dell’evento, ad esempio HelloWorldEvent.
- È 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 Execution results (Risultati esecuzione) documenta la corretta esecuzione della funzione.
- La sezione Riepilogo mostra le informazioni più importanti riportate nella sezione Log output.
- La sezione Output log mostra i log generati dall'esecuzione della funzione Lambda.
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.
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 mostra 6 parametri di CloudWatch: numero di chiamate, durata delle chiamate, errori delle chiamate, chiamate con limitazioni, età iteratore ed errori DLQ.
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 pagina 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.
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.
Ora che sei in grado di creare una funzione Lambda, puoi passare al tutorial successivo, in cui imparerai come attivare una funzione Lambda in modo che elabori dei dati caricati in un bucket Amazon S3. Utilizzerai una funzione Lambda per creare in tempo reale miniature delle immagini caricate in un bucket S3.