我正在尝试部署和使用无服务器功能,该功能使用由AWS创建的包含NumPy and SciPy的层
我的Servelerless.yml文件的相关部分:
functions:
pricing:
handler: handler.pricing
layers:
- arn:aws:lambda:eu-west-1:399891621064:layer:AWSLambda-Python36-SciPy1x:2
当我运行sls deploy然后检查Lambda控制台时,我可以看到该层在函数旁边,但是当我尝试调用我的Lambda时,我得到了错误:
[ERROR] Runtime.ImportModuleError: Unable to import module 'handler': No module named 'numpy'
我的handler.py文件的相关行:
import numpy as np
编辑:更奇怪的是,在Lambda控制台中,如果我删除对AWS发布层的引用(看上去完全相同),然后选择“添加层”按钮并选择完全相同的层(相同的ARN),则一切作品。
下一步是弄清楚如何获得
无服务器调用本地-f myfunction --docker
在我的虚拟环境中可以正常工作,以便可以在本地运行和测试。