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.
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.
- Criar uma conta AWS
- Descobrir o Serverless
- Funções Lambda em profundidade
- API Gateway
- DynamoDB
Guia completo do projeto final
Visão geral das fases
Fase 1
Fase 2
Fase 3
Fase 4
Fase 5
Fase 6
Fase 1 – Planejamento
1.1 – Escolher seu tema
1.2 – Definir suas tabelas DynamoDB
Desenhe um esquema de suas tabelas com os atributos:
Table 1 : Produits ───────────────────────────────────── | productId (PK) | nom | categorie | prix | quantite | seuil_alerte | ───────────────────────────────────── Table 2 : Mouvements ───────────────────────────────────── | mouvementId (PK) | productId | type (entree/sortie) | quantite | date | ─────────────────────────────────────
• 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étodo | Endpoint | Descrição | Body |
|---|---|---|---|
| GET | /produits | Listar todos os produtos | – |
| GET | /produits/{id} | Obter um produto | – |
| POST | /produits | Criar um produto | {"nom", "categorie", "prix", "quantite"} |
| PUT | /produits/{id} | Modificar um produto | {"nom", "prix", ...} |
| DELETE | /produits/{id} | Excluir um produto | – |
| GET | /mouvements | Listar os movimentos | – |
| POST | /mouvements | Registrar um movimento | {"productId", "type", "quantite"} |
1.4 – Desenhar a arquitetura
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
sam init --runtime python3.12 --name mon-projet-serverless --app-template hello-world
Ou crie manualmente a estrutura:
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.js2.2 – Escrever o template.yaml
Instalar AWS CLI e configurar as credenciais
Objetivos pedagógicos
- 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:
# 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
# Baixar o pacote curl "https://awscli.amazonaws.com/AWSCLIV2.pkg" -o "AWSCLIV2.pkg" # Instalar sudo installer -pkg AWSCLIV2.pkg -target /
Alternativa com Homebrew:
brew install awscli
Linux (Ubuntu/Debian)
# 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:
aws --version
aws-cli/2.15.x Python/3.11.x Windows/10 exe/AMD64
SAM CLI – Build, Deploy, Test
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
- 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
# 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
# Verificar a versão sam --version
Resultado esperado:
SAM CLI, version 1.120.0
Etapa 2 – Criar um projeto com sam init
# Criar um novo projeto SAM sam init
O CLI o guiará pelas escolhas:
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
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áriosEste 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 CodeFAQ
Quanto tempo para aprender Serverless AWS Lambda?
Precisa de pré-requisitos?
Por onde começar concretamente?
📬 Quer receber este tipo de guia toda semana? Inscreva-se gratuitamente — código real, zero enrolação.