Serverless AWS Lambda na prática: o código e os comandos que realmente importam

Serverless AWS Lambda: o essencial em um artigo — código real, diagramas e etapas concretas, extraídos de um curso de 41 lições.

Serverless AWS Lambda na prática: o código e os comandos que realmente importam

Sem teoria interminável aqui: abra o terminal e pratique. Aqui está o essencial de Serverless AWS Lambda, extraído diretamente de um curso completo de 41 lições — com código real que você pode copiar e colar agora.

tl;dr
  • Criar uma conta AWS
  • Descobrir o Serverless
  • Funções Lambda em profundidade
  • API Gateway
  • DynamoDB
~$ cat ./parcours.md # Serverless AWS Lambda — 11 capítulos
01
Criar uma conta AWS
→ Criar uma conta AWS Free Tier→ Configurar IAM e a segurança+ 1 mais lições
02
Descobrir o Serverless
→ O que é Serverless ?→ Panorama dos serviços AWS Serverless+ 1 mais lições
03
Funções Lambda em profundidade
→ Anatomia de uma função Lambda→ Runtimes, handlers e contexto de execução+ 1 mais lições
04
API Gateway
→ O que é API Gateway ?→ Criar uma API REST com API Gateway+ 1 mais lições
05
DynamoDB
→ O que é DynamoDB e o modelo NoSQL ?→ Criar uma tabela e operações CRUD com boto3+ 1 mais lições
06
CRUD completo Lambda API Gateway DynamoDB
→ Arquitetura do projeto CRUD completo→ Funções Lambda – Create e Read+ 1 mais lições
07
S3 e eventos Lambda
→ O que é Amazon S3 ?→ Disparar Lambda a partir do S3+ 1 mais lições
08
SAM Serverless Application Model
→ Por que SAM e a Infrastructure as Code ?→ Template SAM e implantação+ 2 mais lições
🏁
Projeto final (+ 3 capítulos no caminho)
→ Você sai com um projeto concreto e demonstrável

Guia completo do projeto final

NOTESobre este guia — Este documento o acompanha etapa por etapa na realização do seu projeto final. Siga cada fase em ordem para maximizar suas chances de sucesso. Consulte o documento « Projeto final – Aplicação Full Stack Serverless » para os requisitos e a grade.

Visão geral das fases

Fase 1

Fase 2

Fase 3

Fase 4

Fase 5

Fase 6

Fase 1 – Planejamento

TIPDica — Nunca comece a codificar antes de terminar o planejamento. Um bom plano economizará horas de depuração.

1.1 – Escolher seu tema

1.2 – Definir suas tabelas DynamoDB

Desenhe um esquema de suas tabelas com os atributos:

output
Table 1 : Produits
─────────────────────────────────────
| productId (PK) | nom | categorie | prix | quantite | seuil_alerte |
─────────────────────────────────────

Table 2 : Mouvements
─────────────────────────────────────
| mouvementId (PK) | productId | type (entree/sortie) | quantite | date |
─────────────────────────────────────
NOTEPerguntas a se fazer
• Qual é a partition key de cada tabela?
• Preciso de uma sort key?
• Como as tabelas estão ligadas? (chave estrangeira lógica)
• Preciso de um GSI para certas consultas?

1.3 – Definir seus endpoints API

Liste todos os seus endpoints em uma tabela:

MétodoEndpointDescriçãoBody
GET/produitsListar todos os produtos
GET/produits/{id}Obter um produto
POST/produitsCriar um produto{"nom", "categorie", "prix", "quantite"}
PUT/produits/{id}Modificar um produto{"nom", "prix", ...}
DELETE/produits/{id}Excluir um produto
GET/mouvementsListar os movimentos
POST/mouvementsRegistrar um movimento{"productId", "type", "quantite"}

1.4 – Desenhar a arquitetura

output
Utilisateur
    │
    ▼
┌──────────┐     ┌───────────────┐     ┌──────────┐
│  S3      │     │ API Gateway   │     │ DynamoDB │
│ Frontend │────▶│  REST API     │────▶│ Tables   │
│ HTML/JS  │     │  /produits    │     │          │
└──────────┘     │  /mouvements  │     └──────────┘
                 └───────┬───────┘
                         │
                    ┌────▼────┐
                    │ Lambda  │
                    │ Python  │
                    └─────────┘

Fase 2 – Backend (SAM + Lambda)

2.1 – Inicializar o projeto SAM

bash
sam init --runtime python3.12 --name mon-projet-serverless --app-template hello-world

Ou crie manualmente a estrutura:

output
mon-projet-serverless/
├── template.yaml
├── src/
│   ├── handlers/
│   │   ├── __init__.py
│   │   ├── produits.py
│   │   └── mouvements.py
│   ├── utils/
│   │   ├── __init__.py
│   │   ├── response.py
│   │   └── validation.py
│   └── requirements.txt
└── frontend/
    ├── index.html
    ├── style.css
    └── app.js

2.2 – Escrever o template.yaml

Instalar AWS CLI e configurar as credenciais

NOTEObjetivo — Instalar a interface de linha de comando AWS (CLI), configurá-la com suas chaves de acesso e verificar a conexão com sua conta.

Objetivos pedagógicos

TIPAo final deste módulo — Você será capaz de dominar estas competências essenciais.
  • Explicar o papel da AWS CLI
  • Instalar a AWS CLI no Windows, macOS e Linux
  • Configurar suas credenciais com aws configure
  • Usar perfis nomeados para gerenciar várias contas
  • Verificar sua conexão com aws sts get-caller-identity
  • Entender onde as credenciais são armazenadas
  • Executar seus primeiros comandos AWS

O que é a AWS CLI?

A AWS CLI (Command Line Interface) é uma ferramenta unificada que permite gerenciar todos os serviços AWS a partir do seu terminal. Em vez de clicar no console web, você digita comandos.

Rapidez

Execute operações em uma linha em vez de navegar por várias telas.

Automação

Integre os comandos em scripts Bash ou PowerShell para automatizar suas tarefas.

Reprodutibilidade

Compartilhe seus comandos com sua equipe. Cada ação é documentada e versionável.

Instalação da AWS CLI v2

Windows

Baixe e execute o instalador MSI:

bash
# Baixar o instalador
https://awscli.amazonaws.com/AWSCLIV2.msi

# Ou via linha de comando (PowerShell)
msiexec.exe /i https://awscli.amazonaws.com/AWSCLIV2.msi

Siga o assistente de instalação, aceite os valores padrão e clique em Install.

macOS

bash
# Baixar o pacote
curl "https://awscli.amazonaws.com/AWSCLIV2.pkg" -o "AWSCLIV2.pkg"

# Instalar
sudo installer -pkg AWSCLIV2.pkg -target /

Alternativa com Homebrew:

bash
brew install awscli

Linux (Ubuntu/Debian)

bash
# Baixar o arquivo
curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "awscliv2.zip"

# Descompactar
unzip awscliv2.zip

# Instalar
sudo ./aws/install

Verificar a instalação

Em todos os sistemas, verifique se a instalação foi bem-sucedida:

bash
aws --version
NOTEResultado esperado
bash
aws-cli/2.15.x Python/3.11.x Windows/10 exe/AMD64
O número da versão pode variar, o importante é que o comando funcione.

SAM CLI – Build, Deploy, Test

NOTEObjetivo — Instalar o SAM CLI, criar um projeto com sam init, compilar com sam build, testar localmente com sam local e implantar com sam deploy. Dominar o fluxo completo de desenvolvimento serverless local.

Objetivos pedagógicos

TIPAo final deste módulo — Você será capaz de dominar estas competências essenciais.
  • Instalar e configurar o SAM CLI
  • Criar um novo projeto serverless com sam init
  • Compilar um projeto com sam build
  • Invocar uma função localmente com sam local invoke
  • Iniciar um servidor API local com sam local start-api
  • Implantar o projeto na AWS com sam deploy
  • Entender o papel do Docker no teste local

Etapa 1 – Instalar SAM CLI

Pré-requisitos

AWS CLI

O AWS CLI deve estar instalado e configurado (aws configure).

Docker

Necessário para sam local (simula o ambiente Lambda).

Python 3.9+

Ou o runtime de sua escolha (Node.js, Java, Go, etc.).

Instalação conforme seu SO

bash
# Windows (com MSI installer)
# Baixar em: https://github.com/aws/aws-sam-cli/releases/latest
# Ou via Chocolatey:
choco install aws-sam-cli

# macOS (com Homebrew)
brew install aws-sam-cli

# Linux
pip install aws-sam-cli

Verificar a instalação

bash
# Verificar a versão
sam --version

Resultado esperado:

output
SAM CLI, version 1.120.0

Etapa 2 – Criar um projeto com sam init

bash
# Criar um novo projeto SAM
sam init

O CLI o guiará pelas escolhas:

output
Which template source would you like to use?
  1 - AWS Quick Start Templates
  2 - Custom Template Location
Choice: 1

Choose an AWS Quick Start application template
  1 - Hello World Example
  2 - Data processing
  3 - Hello World Example with Powertools
  ...
Template: 1

Use the most popular runtime and package type? (python3.12 and zip)
  y

Would you like to enable X-Ray tracing on the function(s)?
  y

Would you like to enable monitoring using CloudWatch Application Insights?
  y

Would you like to set Structured Logging in JSON format on your Lambda functions?
  y

Project name [sam-app]: mon-api-serverless

Estrutura do projeto gerado

output
mon-api-serverless/
└── README.md
└── __init__.py
└── events/
│   └── event.json          # Evento de teste
└── hello_world/
│   └── __init__.py
│   └── app.py              # Código da função Lambda
│   └── requirements.txt    # Dependências Python
└── template.yaml               # Template SAM
└── samconfig.toml              # Config de implantação
└── tests/
    └── __init__.py
    └── unit/
        └── test_handler.py     # Testes unitários
va-plus-loin

Este artigo cobre os trechos mais úteis — o curso completo Serverless AWS Lambda (12 capítulos, 41 lições, exercícios corrigidos e projeto final) leva você até o fim.

./acceder-au-cours-complet curso gratuito : Maîtriser Claude Code

FAQ

Quanto tempo para aprender Serverless AWS Lambda?
Com uma progressão estruturada (12 capítulos, 41 lições curtas e práticas), você atinge um nível operacional em algumas semanas, dedicando 30 a 60 minutos por dia. O importante é praticar cada conceito imediatamente.
Precisa de pré-requisitos?
Básicos de informática são suficientes. Se você sabe usar um terminal e ler código simples, está pronto.
Por onde começar concretamente?
Reproduza os comandos deste artigo, depois siga o curso completo Serverless AWS Lambda: ele encadeia as 41 lições em ordem, com exercícios e projeto final.

📬 Quer receber este tipo de guia toda semana? Inscreva-se gratuitamente — código real, zero enrolação.