Serverless AWS Lambda en la práctica: el código y los comandos que realmente importan

Serverless AWS Lambda : lo esencial en un artículo — código real, diagramas y pasos concretos, extractos de un curso de 41 lecciones.

Serverless AWS Lambda en la práctica: el código y los comandos que realmente importan

Sin teoría interminable aquí: abrimos la terminal y practicamos. Aquí lo esencial de Serverless AWS Lambda, extraído directamente de un curso completo de 41 lecciones — con código real que puedes copiar y pegar ahora.

tl;dr
  • Crear una cuenta AWS
  • Descubrir Serverless
  • Funciones Lambda en profundidad
  • API Gateway
  • DynamoDB
~$ cat ./parcours.md # Serverless AWS Lambda — 11 capítulos
01
Crear una cuenta AWS
→ Crear un compte AWS Free Tier→ Configurer IAM et la sécurité+ 1 más lecciones
02
Descubrir el Serverless
→ Qué es el Serverless ?→ Panorama de los servicios AWS Serverless+ 1 más lecciones
03
Funciones Lambda en profundidad
→ Anatomía de una función Lambda→ Runtimes, handlers y contexto de ejecución+ 1 más leçons
04
API Gateway
→ Qué es API Gateway ?→ Crear una API REST con API Gateway+ 1 más leçons
05
DynamoDB
→ Qué es DynamoDB y el modelo NoSQL ?→ Crear una tabla y operaciones CRUD con boto3+ 1 más leçons
06
CRUD completo Lambda API Gateway DynamoDB
→ Arquitectura del proyecto CRUD completo→ Funciones Lambda – Create y Read+ 1 más leçons
07
S3 y eventos Lambda
→ Qué es Amazon S3 ?→ Disparar Lambda desde S3+ 1 más leçons
08
SAM Serverless Application Model
→ Por qué SAM y la Infrastructure as Code ?→ Template SAM y despliegue+ 2 más leçons
🏁
Proyecto final (+ 3 capítulos en el camino)
→ Te vas con un proyecto concreto y demostrable

Guía completa del proyecto final

NOTEAcerca de esta guía — Este documento te acompaña paso a paso en la realización de tu proyecto final. Sigue cada fase en orden para maximizar tus posibilidades de éxito. Consulta el documento « Proyecto final – Aplicación Full Stack Serverless » para los requisitos y la rúbrica.

Vista general de las fases

Fase 1

Fase 2

Fase 3

Fase 4

Fase 5

Fase 6

Fase 1 – Planificación

TIPConsejo — Nunca empieces a programar antes de haber terminado la planificación. Un buen plan te ahorrará horas de depuración.

1.1 – Elegir tu tema

1.2 – Definir tus tablas DynamoDB

Dibuja un esquema de tus tablas con los atributos:

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

Table 2 : Mouvements
─────────────────────────────────────
| mouvementId (PK) | productId | type (entree/sortie) | quantite | date |
─────────────────────────────────────
NOTEPreguntas que debes hacerte
• ¿Cuál es la clave de partición de cada tabla?
• ¿Necesito una clave de ordenación?
• ¿Cómo están relacionadas las tablas? (clave externa lógica)
• ¿Necesito un GSI para ciertas consultas?

1.3 – Definir tus endpoints API

Lista todos tus endpoints en una tabla:

MétodoEndpointDescripciónBody
GET/produitsListar todos los productos
GET/produits/{id}Obtener un producto
POST/produitsCrear un producto{"nom", "categorie", "prix", "quantite"}
PUT/produits/{id}Modificar un producto{"nom", "prix", ...}
DELETE/produits/{id}Eliminar un producto
GET/mouvementsListar los movimientos
POST/mouvementsRegistrar un movimiento{"productId", "type", "quantite"}

1.4 – Dibujar la arquitectura

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

Fase 2 – Backend (SAM + Lambda)

2.1 – Inicializar el proyecto SAM

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

O crea manualmente la estructura:

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 – Escribir el template.yaml

Instalar AWS CLI y configurar las credenciales

NOTEObjetivo — Instalar la interfaz de línea de comandos de AWS (CLI), configurarla con tus claves de acceso y verificar la conexión a tu cuenta.

Objetivos pedagógicos

TIPAl finalizar este módulo — Serás capaz de dominar estas competencias esenciales.
  • Explicar el rol de AWS CLI
  • Instalar AWS CLI en Windows, macOS y Linux
  • Configurar tus credenciales con aws configure
  • Usar perfiles nombrados para gestionar varias cuentas
  • Verificar tu conexión con aws sts get-caller-identity
  • Comprender dónde se almacenan las credenciales
  • Ejecutar tus primeros comandos AWS

¿Qué es AWS CLI?

La AWS CLI (Command Line Interface) es una herramienta unificada que permite gestionar todos los servicios de AWS desde tu terminal. En lugar de hacer clic en la consola web, escribes comandos.

Rapidez

Ejecuta operaciones en una sola línea en lugar de navegar por varias pantallas.

Automatización

Integra los comandos en scripts Bash o PowerShell para automatizar tus tareas.

Reproducibilidad

Comparte tus comandos con tu equipo. Cada acción queda documentada y versionable.

Instalación de AWS CLI v2

Windows

Descarga y ejecuta el instalador MSI:

bash
# Descargar el instalador
https://awscli.amazonaws.com/AWSCLIV2.msi

# O mediante la línea de comandos (PowerShell)
msiexec.exe /i https://awscli.amazonaws.com/AWSCLIV2.msi

Sigue el asistente de instalación, acepta los valores predeterminados y haz clic en Install.

macOS

bash
# Descargar el paquete
curl "https://awscli.amazonaws.com/AWSCLIV2.pkg" -o "AWSCLIV2.pkg"

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

Alternativa con Homebrew:

bash
brew install awscli

Linux (Ubuntu/Debian)

bash
# Descargar el archivo
curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "awscliv2.zip"

# Descomprimir
unzip awscliv2.zip

# Instalar
sudo ./aws/install

Verificar la instalación

En todos los sistemas, verifica que la instalación haya sido exitosa:

bash
aws --version
NOTEResultado esperado
bash
aws-cli/2.15.x Python/3.11.x Windows/10 exe/AMD64
El número de versión puede variar; lo importante es que el comando funcione.

SAM CLI – Build, Deploy, Test

NOTEObjetivo — Instalar SAM CLI, crear un proyecto con sam init, compilar con sam build, probar localmente con sam local y desplegar con sam deploy. Dominar el flujo completo de desarrollo serverless local.

Objetivos pedagógicos

TIPAl finalizar este módulo — Serás capaz de dominar estas competencias esenciales.
  • Instalar y configurar SAM CLI
  • Crear un nuevo proyecto serverless con sam init
  • Compilar un proyecto con sam build
  • Invocar una función localmente con sam local invoke
  • Iniciar un servidor API local con sam local start-api
  • Desplegar el proyecto en AWS con sam deploy
  • Comprender el rol de Docker en las pruebas locales

Paso 1 – Instalar SAM CLI

Requisitos previos

AWS CLI

AWS CLI debe estar instalado y configurado (aws configure).

Docker

Necesario para sam local (simula el entorno Lambda).

Python 3.9+

O el runtime de tu elección (Node.js, Java, Go, etc.).

Instalación según tu SO

bash
# Windows (con MSI installer)
# Descargar desde: https://github.com/aws/aws-sam-cli/releases/latest
# O mediante Chocolatey:
choco install aws-sam-cli

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

# Linux
pip install aws-sam-cli

Verificar la instalación

bash
# Verificar la versión
sam --version

Resultado esperado:

output
SAM CLI, version 1.120.0

Paso 2 – Crear un proyecto con sam init

bash
# Crear un nuevo proyecto SAM
sam init

El CLI te guiará a través de las opciones:

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

Estructura del proyecto generado

output
mon-api-serverless/
└── README.md
└── __init__.py
└── events/
│   └── event.json          # Evento de prueba
└── hello_world/
│   └── __init__.py
│   └── app.py              # Código de la función Lambda
│   └── requirements.txt    # Dependencias Python
└── template.yaml               # Template SAM
└── samconfig.toml              # Config de despliegue
└── tests/
    └── __init__.py
    └── unit/
        └── test_handler.py     # Pruebas unitarias
va-plus-loin

Este artículo cubre los extractos más útiles — el curso completo Serverless AWS Lambda (12 capítulos, 41 lecciones, ejercicios corregidos y proyecto final) te lleva hasta el final.

./acceder-al-curso-completo curso gratuito: Dominar Claude Code

FAQ

¿Cuánto tiempo se necesita para aprender Serverless AWS Lambda?
Con una progresión estructurada (12 capítulos, 41 lecciones cortas y prácticas), se alcanza un nivel operativo en unas semanas dedicando 30 a 60 minutos al día. Lo importante es practicar cada concepto de inmediato.
¿Se necesitan requisitos previos?
Con nociones básicas de informática basta. Si sabes usar una terminal y leer código sencillo, estás listo.
¿Por dónde empezar concretamente?
Reproduce los comandos de este artículo y luego sigue el curso completo Serverless AWS Lambda: encadena las 41 lecciones en orden, con ejercicios y proyecto final.

📬 ¿Quieres recibir este tipo de guía cada semana? Suscríbete gratis — código real, cero palabrería.