从docker映像向lambda公开处理程序函数

byqmnocz  于 2021-09-13  发布在  Java
关注(0)|答案(1)|浏览(375)

我正在尝试构建一个hello world示例,其中docker映像为lambda函数提供动力。
我的docker图像中包含一个npm项目,如下所示:

  1. project
  2. app.js
  3. | Dockerfile
  4. | package.json
  5. | package-lock.json

app.js中的代码是:

  1. // app.js
  2. module.exports.lambdaHandler = async (event, context) => {
  3. console.log('Code Running Inside Handler Function');
  4. console.log(event);
  5. console.log(context);
  6. return "Hello World.";
  7. }

我在docker文件中使用此cmd层对我的应用程序进行dockerize:

  1. CMD [ "app.lambdaHandler" ]

我将docker映像上传到aws,并尝试将其作为lambda函数运行。但是,我得到以下运行时错误:
找不到模块“/project/app.lambdahandler”
我该如何向aws披露“lambdahandler”?
编辑以包含我的docker文件:

  1. FROM node:16
  2. COPY app.js ./
  3. CMD [ "app.lambdaHandler" ]
y3bcpkx1

y3bcpkx11#

当使用aws lambda容器的自定义映像时,必须执行一些步骤来为lambda环境做好准备。其中包括:
安装运行时接口客户端。
设置entrypoint属性以调用运行时接口客户端。
但最简单的方法是使用aws提供的基础图像。

相关问题