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.