我试图通过Dockerfile中的指令来部署Python lambda,但我一直得到ImportModuleError。我将在下面展示Dockerfile和项目结构。
Dockerfile
FROM public.ecr.aws/lambda/python:3.8
COPY requirements.txt ${LAMBDA_TASK_ROOT}
RUN pip install --no-cache-dir -r requirements.txt
COPY src/ ${LAMBDA_TASK_ROOT}
CMD [ "src.lambda-processor.problem_processor_lambda.problem_handler.lambda_handler" ]
项目结构
parent-folder/
-src/
---lambda-processor/
------problem_processor_lambda/
---------processor_handler.py
**注意:**processor_handler.py中的handler函数名为lambda_handler
。
错误
[ERROR] Runtime.ImportModuleError: Unable to import module 'src.lambda-processor.problem_processor_lambda.problem_handler.lambda_handler': No module named 'src'
Traceback (most recent call last):
StackOverflow还有另外两个有点类似的答案,但我会解释让我困惑的地方。
Runtime.ImportModuleError: Unable to import module (lambda)
上面的这个问题涉及到一个可能需要与PIP一起安装的缺少的库,但这里的问题是,这是一个指向lambda处理程序的目录;不是要安装的库。
Lambda Python Docker - [ERROR] Runtime.ImportModuleError: Unable to import module 'main'
上面的这个更像是我面临的问题,但我似乎无法正确实现解决方案。我认为有一些关于复制的东西我没有得到正确的。
1条答案
按热度按时间5jdjgkvh1#
您的文件夹名为
lambda-processor
,而不是problem-processor
。