Última actualización: 2025-04-09
AWS Lambda es un servicio de cómputo serverless (sin servidor) que permite a los usuarios ejecutar código sin la necesidad de aprovisionar ni administrar servidores. Con Lambda, el usuario carga su código como una función, y AWS se encarga de ejecutarlo únicamente cuando es necesario. El servicio escala automáticamente los recursos y solo cobra por el tiempo de cómputo utilizado. Esto libera al usuario de la gestión de la infraestructura, permitiéndole concentrarse en la lógica de su aplicación y construir soluciones escalables y rentables basadas en eventos.
AWS Lambda, dentro de la capa gratuita, permite hasta un millón de peticiones al mes sin costo alguno.
Desde el Learner Lab ir a la consola de AWS y seleccionar Lambda. Presionar el botón de Crear función
y completar el formulario con la siguiente información (las opciones no mencionadas aquí se deben dejar con su valor por omisión):
Crear desde cero
MiFuncionEjemplo
)
Node.js 22.x
arm64
Uso de un rol existente
LabRole
Habilitar URL de la función
.
NONE
Finalmente, presionar el botón Crear una función
.
NOTA: En la página que aparece hay dos secciones que conviene resaltar:
URL de la función: La URL de una función es un punto de conexión HTTPS dedicado para la función Lambda. Se puede usar para invocar la función a través de un navegador, curl, Postman o cualquier otro cliente HTTP.
ENVIRONMENT VARIABLES: Aquí se puede definir cualquier variable de entorno que requiera el código de la función Lambda (por ejemplo: MYSQL_HOST
, MYSQL_USER
y MYSQL_PASSWORD
).
Es posible editar una función Lambda directamente desde Cloud9, lo que permite un flujo de trabajo de desarrollo más integrado y eficiente en la nube.
En un entorno de Cloud9, crear un directorio con el mismo nombre que la función Lambda que se desea editar (por ejemplo: MiFuncionEjemplo
).
En este nuevo directorio, crear un archivo llamado index.mjs
con el siguiente contenido:
export const handler = async (event, context) => { const response = { statusCode: 200, body: JSON.stringify({ message: "Hello, World!" }) }; return response; };
Se puede correr el comando npm install
dentro del directorio recién creado para instalar cualquier paquete que requiera el código de la función Lambda.
Esta opción permite empaquetar y desplegar el código de una función Lambda directamente a AWS desde el IDE de Cloud9. Simplifica el proceso de implementación al encargarse de crear el archivo ZIP necesario con el código y dependencias, y luego lo sube y actualiza la configuración de la función Lambda existente en AWS, facilitando la puesta en producción de los cambios sin necesidad de usar la consola de AWS.
Abrir la pestaña de AWS (aws-explorer) del lado izquiero del IDE de Cloud9.
Expandir la sección Explorer
.
Expandir la sección de la región, por ejemplo: US East (N. Virginia)
.
Expandir la sección Lambda
.
Seleccionar la función Lambda (MiFuncionEjemplo
) dar clic con el botón derecho y seleccionar la opción Upload Lambda...
.
Selccionar Directory
.
Selccionar:
No
AWS Toolkit will upload a ZIP of the selected directory.
Seleccionar el directorio donde radica el código de la función lambda.
Presionar el botón Yes
.
Una vez que aparezca el mensaje “Uploaded Lambda Function” se puede copiar el URL de la función y pegarla en un navegador o en Postman con el fin de invocar la función Lambda.
Esta opción permite probar y ejecutar funciones Lambda directamente en el entorno real de AWS. Esto facilita una prueba realista con servicios de AWS simplificando el flujo de trabajo. Además, permite configurar el evento de entrada y visualizar la salida y los logs de la función directamente en Cloud9, agilizando la identificación y resolución de problemas.
Abrir la pestaña de AWS (aws-explorer) del lado izquiero del IDE de Cloud9.
Expandir la sección Explorer
.
Expandir la sección de la región, por ejemplo: US East (N. Virginia)
.
Expandir la sección Lambda
.
Seleccionar la función Lambda (MiFuncionEjemplo
) dar clic con el botón derecho y seleccionar la opción Invoke on AWS
.
Copiar el siguiente objeto de JSON y pegarlo en el campo de payload de la página de invocación. Este objeto es el valor que toma el parámetro event
del handler de la función Lambda. Es válido modificarlo si así conviene.
{ "version": "2.0", "rawPath": "/", "queryStringParameters": { "param1": "value1", "param2": "value2", "param3": "value3" }, "headers": { "content-type": "application/json", "content-length": "33" }, "body": "{\"key1\":\"value1\",\"key2\":\"value2\"}", "requestContext": { "domainName": "example.com", "http": { "method": "GET", "protocol": "HTTP/1.1" } } }
Presionar el botón Invoke
.
En la pestaña “AWS Toolkit” debe aparecer el payload (la información con el resultado) de la invocación, incluyendo cualquier mensaje de error.