AWS sam #2: sam local + logs

olcortesb

olcortesb

Posted on October 20, 2023

AWS sam #2: sam local + logs

En una entrada anterior, Link, comentaba como configurar una serie de lambdas + api Gateway que necesita acceso a una Dynamo DB todo local(en nuestra pc). Es un escenario común en serverless probar localmente nuestras funciones antes del deploy o durante el proceso de desarrollo mientras sea posible.

En esta ocasión agregaremos la posibilidad de agregar un registro de logs. Retomando el escenario anterior Link , tenemos un conjunto de lambdas configuradas con AWS sam y queremos ejecutarlas localmente teniendo acceso a los logs de la aplicación.

sam local start-api -p 3002 --log-file logfile.txt
Enter fullscreen mode Exit fullscreen mode

Como vemos, agregamos un parámetro para que los logs que ejecutemos dentro del código de nuestras lambas: --log-file logfile.txt en este parámetro simplemente definimos el nombre del archivo donde queremos que se vuelquen los de las lambdas.

Si ejecutamos las llamadas a la api que levanta local start-api en el puerto 3002 veremos en el archivo logfile.txt tendrá los logs en el mismo formato que aparecerá en CloudWatch.

$ more logfile.txt
START RequestId: c7b9cad9-70cd-4e1e-b205-6c58ee9c3d18 Version: $LATEST
2023-04-08T21:32:58.959Z c7b9cad9-70cd-4e1e-b205-6c58ee9c3d18 INFO Hello World from logs!
END RequestId: c7b9cad9-70cd-4e1e-b205-6c58ee9c3d18
REPORT RequestId: c7b9cad9-70cd-4e1e-b205-6c58ee9c3d18 Init Duration: 1.54 ms Duration: 1348.28 ms Billed Duration: 1349 ms Memory Size: 128 MB Max Memory Used: 128 MB
Enter fullscreen mode Exit fullscreen mode

En este punto podemos apreciar que posiblemente la ejecución local de las lambdas sin "deploy" previo, en los casos que sea posible, es una de las mejores funciones que ofrece AWS sam.

¡Gracias, hasta la próxima!

Referencias

💖 💪 🙅 🚩
olcortesb
olcortesb

Posted on October 20, 2023

Join Our Newsletter. No Spam, Only the good stuff.

Sign up to receive the latest update from our blog.

Related