我正在尝试构建一个hello world示例,其中docker映像为lambda函数提供动力。
我的docker图像中包含一个npm项目,如下所示:
project
│ app.js
| Dockerfile
| package.json
| package-lock.json
app.js中的代码是:
// app.js
module.exports.lambdaHandler = async (event, context) => {
console.log('Code Running Inside Handler Function');
console.log(event);
console.log(context);
return "Hello World.";
}
我在docker文件中使用此cmd层对我的应用程序进行dockerize:
CMD [ "app.lambdaHandler" ]
我将docker映像上传到aws,并尝试将其作为lambda函数运行。但是,我得到以下运行时错误:
找不到模块“/project/app.lambdahandler”
我该如何向aws披露“lambdahandler”?
编辑以包含我的docker文件:
FROM node:16
COPY app.js ./
CMD [ "app.lambdaHandler" ]
1条答案
按热度按时间y3bcpkx11#
当使用aws lambda容器的自定义映像时,必须执行一些步骤来为lambda环境做好准备。其中包括:
安装运行时接口客户端。
设置entrypoint属性以调用运行时接口客户端。
但最简单的方法是使用aws提供的基础图像。