Estoy tratando de construir un ejemplo de hola mundo de una imagen acoplable que activa una función lambda.
La imagen de mi ventana acoplable alberga un proyecto de NPM que se ve así:
project │ app.js | Dockerfile | package.json | package-lock.json
El código dentro de app.js es:
// app.js module.exports.lambdaHandler = async (event, context) => { console.log('Code Running Inside Handler Function'); console.log(event); console.log(context); return "Hello World."; }
Dockerize mi aplicación con esta capa CMD en mi archivo docker:
CMD [ "app.lambdaHandler" ]
Subo la imagen de la ventana acoplable a AWS e intento ejecutarla como una función lambda. Sin embargo, aparece el siguiente error de tiempo de ejecución:
No se puede encontrar el módulo '/project/app.lambdaHandler'
¿Cómo se supone que debo exponer 'lambdaHandler' a aws?
Editar para incluir mi archivo docker:
FROM node:16 COPY app.js ./ CMD [ "app.lambdaHandler" ]
Cuando se utiliza una imagen personalizada para el contenedor lambda de AWS , se deben realizar algunos pasos para prepararlo para un entorno lambda. Incluyen, entre otras cosas:
Pero la forma más sencilla sería utilizar las imágenes base proporcionadas por AWS.