Como visualizar logs de funções Lambdas na AWS

Utilizando um segundo serviço da AWS podemos visualizar grupos de logs.

Simplificando o desenvolvimento de APIs PHP com Swagger

Sabemos que as funções Lambdas da AWS são de extrema importância para quem necessita de aplicações que rodem em Serverless, diminuindo custo de operação bem como garantia na disponibilidade.

Uma vez que temos nossa função Lambda rodando, erros podem acontecer ou até mesmo, a necessidade de gerar logs para capturas de informações. Essa necessidade ocorre a todo momento e deve ser armazenada para consultas posteriores, afinal, não sabemos quando a função lambda será executada.

Para o exemplo da aula de hoje, vamos capturar logs utilizando a linguagem Python, mas a funcionalidade é a mesma para outras linguagens, como C# e NodeJS.

Amazon CloudWatch

Vamos precisar de um segundo serviço, que é o CloudWatch, ele é responsável por receber nossos logs das Lambdas e armazenadas em grupos, conforme pode ser visto na imagem abaixo.

De acordo com a Amazon, a definição do Cloudwatch é:

O Amazon CloudWatch monitora os recursos da Amazon Web Services (AWS) e as aplicações executadas na AWS em tempo real. Você pode usar o CloudWatch para coletar e monitorar métricas, que são as variáveis que é possível medir para avaliar seus recursos e suas aplicações.

A página do serviço é: https://aws.amazon.com/pt/cloudwatch

Gravando logs de funções Lambdas

Para gravar o log, é um processo muito fácil, basta utilizarmos o comando print do Python e o resultado será visível em poucos segundos no CloudWatch.

Veja o código de exemplo abaixo.

import json

def lambda_handler(event, context):
    # TODO implement
    result = 'a123z'
    
    
    print(result)
    
    sum = 3
    
    if(1 + 2 == sum):
        print('Soma correta')

Videoaula completa

Agora que você entendeu um pouco mais do processo, chegou a hora de aprender a criar na prática esse registro de log entre funções Lambdas e o Cloudwatch, para isso, assista a nossa videoaula abaixo.