AWS Lambda - Configurazione della funzione Lambda

Nei capitoli precedenti abbiamo imparato come creare la funzione AWS Lambda nella console AWS. Tuttavia, esistono altri parametri per la creazione di una funzione Lambda. Questi includono allocazione della memoria, timeout ecc.

In questo capitolo, comprendiamo in dettaglio le seguenti proprietà di configurazione per AWS Lambda.

Allocazione della memoria

Accedi alla console AWS e crea o seleziona la funzione lambda esistente. Clicca ilConfigurationscheda per ottenere i dettagli della memoria allocata. Guarda lo screenshot mostrato di seguito -

Notare che per impostazione predefinita la memoria allocata è 128MB. Se vuoi aumentare la memoria puoi fare clic sul cursore.

La memoria verrà incrementata a 64MBmentre sposti il ​​cursore. Osserva che la memoria massima disponibile è3008MB. Guarda lo screenshot mostrato di seguito -

Puoi anche usare aws clidal prompt dei comandi per aumentare il limite di memoria. Dovrai dare la memoria in incrementi di 64 MB.

Ora, aumentiamo il limite di memoria di AWS Lambda con il nome:myfirstlambdafunction.

I dettagli della memoria della funzione sono mostrati nella schermata riportata di seguito -

Il comando utilizzato per modificare la memoria utilizzando aws cli è il seguente -

aws lambda update-function-configuration --function-name your function name --
region region where your function resides --memory-size memory amount --
profile admin user

L'output corrispondente della funzione AWS Lambda myfirstlambdafunctionnella console AWS è mostrato qui. Osserva che la memoria viene modificata da 128 MB a 256 MB.

Tempo massimo di esecuzione

Il timeout è il tempo assegnato alla funzione AWS Lambda per terminare se si verifica il timeout. La funzione AWS Lambda verrà eseguita entro il tempo assegnato o terminerà se supera il timeout specificato. È necessario valutare il tempo necessario per l'esecuzione della funzione e di conseguenza selezionare il tempo inConfiguration scheda nella console AWS come mostrato di seguito:

Ruolo IAM

Quando si crea la funzione AWS Lambda, è necessario assegnare il ruolo o l'autorizzazione. Nel caso in cui sia necessario AWS Lambda per S3 o dynamoDB, è necessario assegnare l'autorizzazione per i servizi di lambda. In base al ruolo assegnato, AWS Lambda deciderà i passaggi da eseguire. Ad esempio, se si concede l'accesso completo a dynamodb, è possibile aggiungere, aggiornare ed eliminare le righe dalla tabella dynamodb.

Nome gestore

Questo è l'inizio dell'esecuzione della funzione AWS Lambda. La funzione Handler contiene i dettagli dell'evento attivato, l'oggetto di contesto e il callback che deve essere restituitosuccess o error di AWS Lambda.

Il formato della funzione handler in nodejs è mostrato qui -

exports.handler = (event, context, callback) => {
   callback(null, "hello from lambda");
};

Funzione Lambda che utilizza variabili d'ambiente

In questa sezione creeremo una semplice funzione Lambda utilizzando le variabili d'ambiente aggiunte nella sezione di configurazione. A tale scopo, seguire i passaggi indicati di seguito e fare riferimento ai rispettivi screenshot -

Passo 1

Vai alla console AWS e crea una funzione in Lambda come mostrato.

Passo 2

Ora aggiungi le variabili d'ambiente come mostrato -

Passaggio 3

Ora, recuperiamo lo stesso nel codice Lambda come segue:

exports.handler = (event, context, callback) => {
   var hostName = process.env.host;   
   var userName = process.env.username;
   callback(null, "Environment Variables =>"+hostName+" and "+userName);
};

Passaggio 4

Per ottenere i dettagli dalle variabili di ambiente che dobbiamo utilizzare process.envcome mostrato. Nota che questa sintassi è perNodeJS runtime.

var hostName = process.env.host;   
var userName = process.env.username;

Passaggio 5

L'output per la funzione Lambda in esecuzione sarà come mostrato -