bjf*_*her 7 amazon-web-services docker aws-lambda
例如,当我运行 AWS Lambda 容器 (Docker) 映像时:
docker run public.ecr.aws/lambda/java bash
Run Code Online (Sandbox Code Playgroud)
我收到以下错误:
entrypoint requires the handler name to be the first argument
Run Code Online (Sandbox Code Playgroud)
处理程序名称应该是什么?
这取决于运行时的语言是什么。例如,如果是 NodeJS,则处理程序名称应如下所示:
"app.handler"
Run Code Online (Sandbox Code Playgroud)
如果是Java,那么它应该是这样的:
"com.example.LambdaHandler::handleRequest"
Run Code Online (Sandbox Code Playgroud)
图像将在其中查找它们,LAMBDA_TASK_ROOT
因此您需要确保在构建图像时将代码(或编译后的代码)复制到该文件夹,例如:
COPY target/* ${LAMBDA_TASK_ROOT}
Run Code Online (Sandbox Code Playgroud)
就我而言,我想在 gitlab-ci 中使用 lambda 图像。解决方案是通过将以下行添加到我的 Dockerfile 来覆盖基本映像入口点:
ENTRYPOINT ["/bin/bash", "-l", "-c"]
Run Code Online (Sandbox Code Playgroud)
请注意,这意味着该图像将无法再在 Amazon 的 lambda 中使用。
归档时间: |
|
查看次数: |
3539 次 |
最近记录: |