S3 Object Lambda y AWS Lambda
✅ ¿Qué hace cada uno?
| Servicio | ¿Qué es y para qué sirve? |
| AWS Lambda | Servicio que te permite ejecutar código sin servidores. Se usa para casi cualquier tarea (procesar eventos, APIs, tareas backend, etc.) |
| S3 Object Lambda | Es una funcionalidad especial de S3 que usa AWS Lambda detrás de cámaras para modificar un objeto S3 justo antes de que se lo entregues al usuario |
🔄 Analogía fácil
👨🍳 AWS Lambda es como un chef que tú puedes llamar en cualquier momento para que prepare lo que necesites: platos, postres, desayunos, scripts...
🍱 S3 Object Lambda es como un chef que solo cocina cuando alguien va a servirse algo de una nevera (S3), y solo puede modificar ese plato en el momento justo antes de entregarlo.
🔧 ¿Cómo funciona cada uno?
🧠 AWS Lambda
Tú defines el código (Python, Node.js, Java, etc.)
Lo ejecutas cuando pasa algo (evento de S3, API Gateway, CloudWatch, etc.)
Puede hacer lo que sea: leer, transformar, escribir, conectar servicios
📦 S3 Object Lambda
Tú conectas una función Lambda a un bucket S3
Cuando alguien quiere leer un objeto (
GET), esa Lambda se ejecuta automáticamenteSirve para transformar el objeto antes de devolverlo al usuario, sin cambiar el archivo original
💡 ¿Cuándo usar cada uno?
| Escenario | ¿Lambda? | ¿S3 Object Lambda? |
| Procesar una imagen cuando se sube a S3 | ✅ | ❌ |
| Modificar dinámicamente un archivo al leerlo | ❌ | ✅ |
| Crear una API REST para manejar productos | ✅ | ❌ |
| Redactar información sensible de un documento | ❌ | ✅ |
| Automatizar backups o escaneo de archivos | ✅ | ❌ |
📊 Comparativa clara
| Característica | 🟣 AWS Lambda | 🔵 S3 Object Lambda |
| ¿Qué hace? | Ejecuta cualquier código | Modifica objetos de S3 al ser leídos |
| ¿Cuándo se ejecuta? | Bajo demanda o eventos | Solo en operaciones GET de S3 |
| ¿Para qué sirve? | Automatizar lógica, APIs, tareas | Personalizar cómo se entregan objetos S3 |
| ¿Requiere configuración S3? | No necesariamente | Sí, debes crear un Object Lambda Access Point |
| ¿Permite modificar archivos? | Sí (leer/escribir) | ❌ Solo transforma en tiempo de lectura |
| Lenguajes compatibles | Node.js, Python, Java, etc. | Igual (es una Lambda detrás) |
📦 Resumen práctico
🔧 AWS Lambda = "haz lo que quieras, cuando quieras" (automatización, APIs, procesamientos, etc.)
🧊 S3 Object Lambda = "transforma un archivo de S3 justo antes de entregárselo al usuario, sin tocar el original"
🧩 ¿Y puedo usarlos juntos?
¡Claro! 🎯 Puedes tener una arquitectura donde:
Una Lambda procesa y guarda archivos en S3
Y cuando alguien accede a esos archivos, S3 Object Lambda modifica la respuesta según quién lo solicita (ej: censura, formato, permisos)