Skip to content

Latest commit

 

History

History
43 lines (30 loc) · 1.56 KB

File metadata and controls

43 lines (30 loc) · 1.56 KB

AWS Lambda: consulta rápida

Uma função orientada a eventos deve validar o evento, ser idempotente e produzir logs suficientes para explicar cada processamento.

Inspeção e teste

aws lambda get-function-configuration --function-name processar-vendas --profile curso
aws lambda invoke --function-name processar-vendas --payload fileb://events/s3-put.json response.json --profile curso
aws logs tail /aws/lambda/processar-vendas --since 10m --follow --profile curso

O evento local deve reproduzir o contrato real do produtor. Não use dados sensíveis em fixtures versionadas.

Estrutura do handler

from typing import Any


def handler(event: dict[str, Any], context: Any) -> dict[str, int]:
    records = event.get("Records", [])
    if not records:
        raise ValueError("Evento sem Records")

    processed = sum(process_record(record) for record in records)
    return {"received": len(records), "processed": processed}

Decisões operacionais

Tema Pergunta
idempotência repetir o evento duplica a saída?
timeout a dependência externa cabe no limite configurado?
memória o ganho de CPU justifica o custo?
retry a falha é transitória ou permanente?
concorrência o destino suporta o pico de chamadas?
observabilidade o log identifica objeto e execução sem expor dados?

Evite ETL pesado, dependências enormes e gravações sem chave determinística.

Veja também: AWS CLI, IAM e Módulo 07.