Come creare una funzione Lambda con Python Runtime

Come creare una funzione Lambda con Python Runtime
“Lambda è un servizio di calcolo senza server fornito da AWS per eseguire il codice senza gestire il ridimensionamento e l'alta disponibilità dei server. Con il termine Serverless, intendiamo che non è necessario disporre di un server e gestirlo per eseguire l'applicazione. Lambda svolge compiti per tuo conto e gestisce tutto da solo. Quindi, ha una caratteristica unica di scala automatica e gestione delle fonti e dei servizi secondo i requisiti. Ricorda che, in tempo reale, non è possibile eseguire un'applicazione senza un server e la sua gestione, quindi è l'AWS che assegna un server e gestisce tutti questi servizi da solo, il che non è il tuo mal di testa."

Di seguito sono riportati alcuni dei compiti principali che AWS intraprende ed esegue per nostro conto quando si distribuisce la tua domanda su lambda.

  1. Server e manutenzione del sistema operativo
  2. Gestione della memoria, della CPU, della rete e di altre risorse
  3. Ridimensionamento automatico
  4. Alta disponibilità
  5. Monitoraggio della salute della flotta
  6. Applicazione di metodi di sicurezza
  7. Tenere traccia delle funzioni Lambda (Cloud Watch)

La funzione Lambda supporta diverse lingue, tra cui Java, Go, PowerShell, Node.JS, C#, Python e Ruby. Per utilizzare qualsiasi altro linguaggio di programmazione, fornisce anche un servizio API di runtime. In questo tutorial, spiegheremo come possiamo creare una funzione Lambda con Python Runtime da zero.

Fatturazione di Lambda

Dopo aver attraversato una breve introduzione del servizio Lambda, la prima cosa che ci viene in mente è, se si tratta di un calcolo senza server, allora come AWS addebiterebbe questo servizio? A differenza della fatturazione dei server EC2, in cui AWS addebita per il tempo in esecuzione del server, indipendentemente dal fatto che il nostro codice sia in esecuzione o meno, AWS addebita per Lambda solo quando il codice è in esecuzione. Quindi, il servizio Lambda viene addebitato solo quando il nostro codice è aumentato, non dal momento in cui la nostra funzione Lambda è stata creata. Quindi la durata della fattura per la funzione Lambda viene calcolata per il tempo di esecuzione del codice, che è arrotondato fino al 1 ms* più vicino.

Creazione di una funzione Lambda con Python Runtime

Per creare una funzione Lambda con Python Runtime, creeremo una funzione e quindi configureremo per utilizzare il runtime di Python. In questo tutorial, l'intera procedura di creazione e configurazione della funzione Lambda sarà discussa.

Prima di tutto, accedi alla console di gestione AWS e poi cerca Lambda nella barra di ricerca e provaci

Nella barra laterale sinistra, fare clic su funzioni Pulsante per ottenere tutte le funzioni nella console Lambda.

Sul lato destro dello schermo, fare clic su Crea funzione pulsante per creare la funzione.

Dopo aver scelto la funzione Crea, saremo indirizzati alla pagina di configurazione della funzione Lambda. Lì troveremo quattro modi per creare una funzione Lambda. Per ora, andremo per il "Autore da zero" opzione.

Nel menu delle informazioni di base, imposteremo a Nome funzione Di nostra scelta per la nostra funzione.

Nel prossimo passaggio, sceglieremo una lingua che vogliamo usare per scrivere la nostra funzione. In questo tutorial, sceglieremo Python 3.9 come il nostro runtime.

Quindi, le seguenti due opzioni appariranno per l'architettura.

  • X86_64
  • ARM64

Per questa demo, sceglieremo x86_64 Come architettura che vogliamo utilizzare per il codice funzione.

Per impostazione predefinita, AWS crea un ruolo IAM che ha il permesso di lanciare tronchi a CloudWatch. Possiamo creare il nostro ruolo con le politiche che vogliamo utilizzare per la nostra funzione Lambda secondo i nostri requisiti. Per questo tutorial, nel "Modificare il ruolo di esecuzione predefinito"Menu, andremo per"Crea un nuovo ruolo con le autorizzazioni Lambda di base."

Quindi, nell'angolo in basso a destra, faremo clic su Crea una funzione Per creare la funzione.

Un nuovo schermo apparirà con un messaggio di successo e una panoramica della funzione come di seguito. In questa pagina, possiamo aggiungere trigger e destinazioni per la nostra funzione. Oltre ad esso, possono anche essere visualizzate altre informazioni sulla funzione, che include descrizione, ultime informazioni di modifica, funzione di funzione e URL alla funzione.

Test di una funzione Lambda

Nel menu di origine del codice, possiamo vedere il nostro codice Python Hello World, come mostrato nell'immagine qui sotto.

Qui possiamo testare il nostro codice semplicemente facendo clic su Test pulsante.

Spingerà a configurare la schermata dell'evento di prova, e qui puoi configurare un evento di prova nominandolo, scegliendo la disponibilità dell'evento di prova come privato o condivisibile e per il modello di Hello-World predefinito che abbiamo scelto.

Quindi fare clic su salva pulsante per salvare l'evento.

Ci riporterà al menu principale della funzione che visualizza il messaggio di successo in alto. Qui faremo di nuovo clic su Test Button e il nostro codice verrà eseguito.

Come abbiamo visto i risultati di esecuzione del nostro codice nella nuova scheda. Ora possiamo sovrascrivere e modificare il nostro codice e testarlo allo stesso modo.

Leggere i registri di una funzione Lambda

Come abbiamo dato il permesso alla nostra funzione Lambda per caricare i registri su CloudWatch. Quindi, i registri verranno caricati su Cloud Watch ogni volta che eseguiamo il nostro codice.

Nel pannello laterale sinistro di CloudWatch, faremo clic sui registri. Qui, saremo in grado di vedere due opzioni nei registri.

  • Gruppi di registro
  • Registra intuizioni

Nei gruppi di registro, saremo in grado di vedere i registri per la funzione di Hello-World come /AWS/Lambda/Hello-World-Function.

In Log Insights, siamo in grado di cercare e analizzare i dati dei nostri registri. Qui possiamo fare query per eseguire il nostro lavoro relativo ai registri in modo più efficiente.

Qui in Log Insights, se scegliamo il nostro gruppo di registro e facciamo clic su Esegui query, Otterremo i nostri risultati desiderati.

E otterremo i nostri risultati con @Timestamp E @Messaggio come segue

Allo stesso modo, possiamo creare fino a 1000 funzioni Lambda. Possiamo scrivere il nostro codice Python per soddisfare le nostre esigenze ed eseguirlo. Inoltre, più attività possono anche essere automatizzate utilizzando la funzione Lambda. Di seguito abbiamo menzionato alcune attività di base che sono gestite dalla funzione Lambda attraverso il codice Python usando il Boto3, che è Python SDK per AWS.

  • Per ricevere avvisi di condizione di istanza EC2
  • Per programmare l'inizio e la fermata delle istanze EC2
  • Per mettere un elemento nella tabella AWS DynamoDB

Conclusione

La funzione Lambda è un servizio di elaborazione senza server fornito da AWS in cui AWS esegue tutte le attività per nostro conto, dall'allocazione di un server alla manutenzione, alla gestione, al networking e alla sicurezza di quel server per il nostro codice. Accuse AWS per lambda solo quando viene attivata la funzione Lambda e può essere fatturata anche in millisecondi. Quindi, questo servizio di funzione Lambda ha rivoluzionato il campo del cloud computing, rendendo facile da gestire una serie di attività cloud.