Depois de passar bastante tempo trabalhando com soluções na nuvem, resolvi dividir um pouco do que aprendi sobre o AWS Lambda — um serviço que uso quase todos os dias e que me ajuda muito a criar sistemas que funcionam bem, gastam pouco e não dão trabalho com servidores.
O Que é o AWS Lambda?
O Lambda basicamente faz o seguinte:
Você escreve um pedaço de código e diz quando ele deve rodar. Sempre que aquele evento acontecer, a AWS executa o código pra você — sem que você precise configurar ou cuidar de servidores.
O serviço funciona em cima de dois pontos principais:
- A função Lambda: é o código que faz alguma tarefa (como salvar dados, ler um arquivo, enviar uma mensagem, etc).
- O serviço Lambda da AWS: é o que cuida de quando e como essa função vai rodar, escala automaticamente e conecta com outros serviços da AWS.
Com o Lambda, você foca só na lógica da aplicação. Todo o resto (servidor, segurança, escalabilidade) a AWS faz por trás.
Quando Usar o Lambda?
Já usei o Lambda em várias situações. Aqui vão alguns exemplos:
- Dispositivos IoT: sensores que enviam dados para a nuvem e o Lambda processa ou responde em tempo real.
- Sites ou APIs sem servidor: o código roda quando alguém acessa uma URL, clica em um botão ou envia um formulário.
- Sistemas que reagem a eventos: como, por exemplo, quando alguém envia um arquivo para o S3, ou chega uma nova mensagem numa fila (SQS).
Ou seja, o Lambda pode ser acionado por quase tudo: arquivos, cliques, mensagens, alterações em banco de dados, e muito mais.
Por Que Gosto Tanto do Lambda?
Alguns motivos que me fazem continuar usando:
- Você paga só quando usa: o custo é por execução, e os primeiros 1 milhão de vezes por mês são grátis.
- Dá pra usar várias linguagens: Python, JavaScript (Node.js), Java, Go, entre outras.
- Tem editor na própria AWS: você pode escrever e testar o código direto no navegador.
- Salva versões do código: se algo der errado, dá pra voltar pra uma versão antiga com facilidade.
O Que Você Precisa para Criar uma Função Lambda?
Criar uma função do zero é mais simples do que parece. Veja o que você precisa configurar:
- Seu código: a lógica que você quer executar.
- Permissões (IAM Role): o Lambda precisa de autorização pra acessar serviços como S3, DynamoDB, etc.
- Memória e tempo de execução: você escolhe quanto de RAM usar (de 128 MB a 10 GB) e o tempo máximo (até 15 minutos).
- Gatilho (trigger): o evento que vai acionar o código (como um upload de arquivo ou um clique em um site).
Exemplo Prático em Python
Vamos imaginar o seguinte:
- Você tem um bucket no S3 onde arquivos são enviados.
- Sempre que um novo arquivo for enviado, uma função Lambda é acionada.
- Essa função registra o nome do arquivo numa tabela no DynamoDB.
Veja o código em Python:
import boto3
from datetime import datetime
dynamodb = boto3.resource('dynamodb')
tabela = dynamodb.Table('meus-arquivos')
def lambda_handler(event, context):
for record in event['Records']:
nome_arquivo = record['s3']['object']['key']
data = datetime.utcnow().isoformat()
tabela.put_item(
Item={
'arquivo': nome_arquivo,
'recebido_em': data
}
)
return {
'statusCode': 200,
'body': 'Arquivo registrado com sucesso!'
}
Esse código roda sempre que um novo arquivo chega no S3 e salva as informações no DynamoDB. Simples e eficiente.
Dica Final
No começo, pode parecer muita coisa. Mas a dica é: comece pequeno. Crie uma função que roda com um clique, depois uma que roda com o envio de um arquivo, e assim por diante. Aos poucos, você vai entender como tudo se conecta.
O Lambda vai deixar de ser só mais um serviço e vai virar uma das ferramentas mais úteis pra você automatizar tarefas e construir soluções inteligentes, gastando pouco e com pouco código.
1 comentário em “AWS Lambda – Guia simples e prático para quem está começando”