AWS Lambda: configuración de la función Lambda
En los capítulos anteriores, aprendimos cómo crear la función AWS Lambda en la consola de AWS. Sin embargo, existen otros parámetros para crear una función Lambda. Estos incluyen asignación de memoria, tiempo de espera, etc.
En este capítulo, comprendamos en detalle las siguientes propiedades de configuración para AWS Lambda.
Asignación de memoria
Inicie sesión en la consola de AWS y cree o seleccione la función lambda existente. Haga clic en elConfigurationpestaña para obtener los detalles de la memoria asignada. Mire la captura de pantalla que se muestra a continuación:
Tenga en cuenta que, por defecto, la memoria asignada es 128MB. Si desea aumentar la memoria, puede hacer clic en el control deslizante.
La memoria se incrementará a 64MBa medida que mueve el control deslizante. Observe que la memoria máxima disponible es3008MB. Mire la captura de pantalla que se muestra a continuación:
También puedes usar aws clidesde el símbolo del sistema para aumentar el límite de memoria. Tendrá que dar la memoria en incrementos de 64 MB.
Ahora, aumentemos el límite de memoria de AWS Lambda con el nombre:myfirstlambdafunction.
Los detalles de la memoria de la función se muestran en la captura de pantalla que se muestra a continuación:
El comando usado para cambiar la memoria usando aws cli es como sigue -
aws lambda update-function-configuration --function-name your function name --
region region where your function resides --memory-size memory amount --
profile admin user
La salida correspondiente de la función AWS Lambda myfirstlambdafunctionen la consola de AWS se muestra aquí. Observe que la memoria se cambia de 128 MB a 256 MB.
Tiempo máximo de ejecución
El tiempo de espera es el tiempo asignado a la función AWS Lambda para finalizar si se agota el tiempo de espera. La función AWS Lambda se ejecutará dentro del tiempo asignado o finalizará si excede el tiempo de espera dado. Debe evaluar el tiempo necesario para que se ejecute la función y, en consecuencia, seleccionar el tiempo enConfiguration pestaña en la consola de AWS como se muestra a continuación -
Rol de IAM
Al crear la función AWS Lambda, se debe asignar el rol o el permiso. En caso de que necesite AWS Lambda para S3 o dynamoDB, se debe asignar un permiso con respecto a los servicios de lambda. Según el rol asignado, AWS Lambda decidirá los pasos a seguir. Por ejemplo, si otorga acceso completo a dynamodb, puede agregar, actualizar y eliminar las filas de la tabla dynamodb.
Nombre del controlador
Este es el inicio de la ejecución de la función AWS Lambda. La función del controlador tiene los detalles del evento activado, el objeto de contexto y la devolución de llamada que debe enviarsesuccess o error de AWS Lambda.
El formato de la función del controlador en nodejs se muestra aquí:
exports.handler = (event, context, callback) => {
callback(null, "hello from lambda");
};
Función Lambda usando variables de entorno
En esta sección, crearemos una función Lambda simple utilizando variables de entorno agregadas en la sección de configuración. Para ello, siga los pasos que se indican a continuación y consulte las capturas de pantalla respectivas:
Paso 1
Vaya a la consola de AWS y cree una función en Lambda como se muestra.
Paso 2
Ahora, agregue las variables de entorno como se muestra:
Paso 3
Ahora, busquemos lo mismo en el código Lambda de la siguiente manera:
exports.handler = (event, context, callback) => {
var hostName = process.env.host;
var userName = process.env.username;
callback(null, "Environment Variables =>"+hostName+" and "+userName);
};
Paso 4
Para obtener los detalles de las variables de entorno, necesitamos usar process.envcomo se muestra. Tenga en cuenta que esta sintaxis es paraNodeJS tiempo de ejecución.
var hostName = process.env.host;
var userName = process.env.username;
Paso 5
El resultado de la función Lambda en ejecución será como se muestra: