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 minuti

Il 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.  Individuare e selezionare Lambda sotto Compute per aprire la console di AWS Lambda.

create-lambda-function_0

Fai clic per ingrandire l'immagine

create-lambda-function_0

I piani o blueprint forniscono codice di esempio che consentono piccole operazioni di elaborazione. La maggior parte dei blueprint elabora gli eventi da eventi sorgente specifici, ad esempio Amazon S3, DynamoDB o applicazioni personalizzate.

a. Nella console AWS Lambda, selezionare Get Started Now.

Se sono già presenti funzioni Lambda, selezionare Create a Lambda function.

create-lambda-function_1

Fai clic per ingrandire l'immagine

create-lambda-function_1

b. Nella casella Filter, digitare hello-world-python e selezionare il blueprint hello-world-python.

create-lambda-function_2

Fai clic per ingrandire l'immagine

create-lambda-function_2

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. Ora è necessario configurare la funzione Lambda.  L'elenco in basso illustra le configurazioni e fornisce valori di esempio.

Configure Function:
  • Name: immettere qui il nome della funzione. Per questo tutorial, immettere hello-world-python.
  • Description: qui è possibile immettere una breve descrizione della funzione. Questa casella è precompilata con la frase A starter AWS Lambda Function. 
  • Runtime: al momento, è possibile scrivere il codice della funzione Lambda in Java, Node.js, o Python 2.7. Per questo tutorial, impostare Python 2.7 come runtime.

Lambda function code:

  • In questa sezione è possibile riesaminare il codice di esempio scritto in Python.

Lambda function handler and role:

  • 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.
  • Role: fare clic sul menu a discesa e selezionare Basic Execution Role.
create-lambda-function_13

Fai clic per ingrandire l'immagine

create-lambda-function_13

b. 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. Fare clic su Allow.

Sarai riportato alla pagina Configure function e sarà selezionata la funzione lambda_basic_execution

create-lambda-function_3

Fai clic per ingrandire l'immagine

create-lambda-function_3

c. Nella sezione Advanced settings è possibile configurare le impostazioni di memoria, timeout e VPC.  Per questo tutorial, mantenere i valori di configurazione di default della funzione Lambda e fare clic su Next.

create-lambda-function_15

Fai clic per ingrandire l'immagine

create-lambda-function_15

d. Riesaminare la funzione Lambda e fare clic su Create Function. La console salva il codice in un file compresso, che rappresenta il pacchetto di distribuzione. La console carica quindi il pacchetto di distribuzione in AWS Lambda per creare la funzione Lambda.

create-lambda-function_5

Fai clic per ingrandire l'immagine

create-lambda-function_5

La console mostrerà ora la funzione Lambda hello-world-python: è ora possibile testare la funzione, verificarne i risultati e visualizzarne i log.


a. Fare clic su Test.

create-lambda-function_18

Fai clic per ingrandire l'immagine

create-lambda-function_18

b. Immettere un evento nell'editor a comparsa per testare la funzione.  

  • Selezionare Hello World dall'elenco Sample event template nella pagina Input test event. 
  • È possibile modificare i valori nel JSON di esempio; non modificare invece la struttura dell'evento. Per questo tutorial, sostituire value1 con hello, world!.

Fare clic su Save and test. AWS Lambda eseguirà la funzione per tuo conto.

create-lambda-function_17

Fai clic per ingrandire l'immagine

create-lambda-function_17

c. Quando viene completata l'esecuzione, consultare i risultati nella console:

  • La sezione Execution results documenterà la corretta esecuzione della funzione.
  • La sezione Summary mostrerà le informazioni più importanti riportate nella sezione Log output.
  • La sezione Log output mostrerà i log generati dall'esecuzione della funzione Lambda. 
create-lambda-function_20

Fai clic per ingrandire l'immagine

create-lambda-function_20

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. Richiamare la funzione Lambda più di una volta premendo ripetutamente il pulsante Test.  In questo modo verranno generati i parametri da visualizzare nella fase successiva.

create-lambda-function_16

Fai clic per ingrandire l'immagine

create-lambda-function_16

b. Selezionare la scheda Monitoring per visualizzare le metriche per la funzione Lambda.  I parametri di lambda sono riportati grazie ad Amazon CloudWatch. I parametri possono essere utilizzati per impostare allarmi personalizzati. Per ulteriori informazioni su CloudWatch, consultare la Amazon CloudWatch Developer Guide.

La scheda Monitoring mostra quattro parametri di CloudWatch: numero di chiamate, durata delle chiamate, errori delle chiamate e chiamate con limitazioni.

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 dalla durata di esecuzione del codice (durata delle chiamate).  Per ulteriori informazioni, consulta la pagina dei Prezzi di AWS Lambda.

create-lambda-function_7

Fai clic per ingrandire l'immagine

create-lambda-function_7

Anche se mantenere la funzione Lambda non determina alcun costo aggiuntivo, eliminarla tramite la console AWS Lambda è un'operazione molto semplice.  


a. Selezionare il pulsante Actions e fare clic su Delete Function.

create-lambda-function_6

Fai clic per ingrandire l'immagine

create-lambda-function_6

b. Verrà chiesto di confermare l'interruzione dell'istanza; selezionare Yes, Terminate.

create-lambda-function_12

Fai clic per ingrandire l'immagine

create-lambda-function_12

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.

Utilizzo di AWS Lambda con Amazon S3 »

No