AWS ofrece el ejecutar funciones serverless mediante lambda. Esto permite relacionar estas funciones a eventos para que así se ejecuten cuando es necesario. Podríamos usarlas para procesar imágenes, facturas… sin añadir carga a nuestro servidor. En este tutorial voy a explicar como crear una simple función lambda que procesa una carga JSON. Para empezar, nos vamos al panel de aws Lambda y clicamos en crear función.

Creamos una función serverless desde 0, trabajaremos sobre ella y usando node js crearemos una función simple que procese una carga en json. Seleccionamos estos parámetros al crear la función serverless.

Una vez que tengamos nuestra función serverless creada veremos esto. Este es el código que vamos a modificar para procesar nuestra carga JSON. En la variable event es donde se encontraran los valores que pasaremos con el JSON.

Lo primero será recibir los parámetros de la carga json, estos parámetros se encuentran en la variable “event”, y están guardados en un parámetro que tiene el nombre de la clave del JSON. La carga JSON en este ejemplo representará el precio de distintos productos. Además uso console log para que podamos ver cómo se han sumado los precios. SI estuviésemos trabajando con strings, podríamos también concatenar la cadena, esto seria útil por ejemplo para procesar el nombre que se le asigna a una imagen cuando se inserta en un AWS S3.

Después clicamos sobre Test y sobre configure test event, aquí es donde crearemos nuestra carga json para probar la función serverless. Las claves se llamarán key1, key2 y key3, puesto que así las hemos llamado en el código.

Una vez tengamos nuestro evento de prueba ya solo falta ejecutar la función. Para ello clicamos sobre “Test”, la función se ejecutará y veremos cómo se han procesado nuestros valores. El siguiente paso seria enlazar la función serverless a un evento de algún otro servicio aws, para así procesar los datos necesarios.

Leave a Comment

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.