AWS Python层在本地运行
如何在本地运行带有层的AWS Lambda函数 我的环境:AWS Python层在本地运行,python,amazon-web-services,aws-lambda,layer,Python,Amazon Web Services,Aws Lambda,Layer,如何在本地运行带有层的AWS Lambda函数 我的环境: Pycharm项目,用于带有Python 3.6运行时的AWS Lambda函数 AWS工具包 创建Lambda层的类似文件/文件夹结构:如下所示: 和部署模板,如: 我可以正确部署该功能,并在AWS上运行它,效果良好, 每当我尝试在本地运行该函数时,它都会失败,并显示错误消息: `Unable to import module 'app': No module named 'sql'` 我试图阅读所有关于图层和Pycharm
- Pycharm项目,用于带有Python 3.6运行时的AWS Lambda函数李>
- AWS工具包
- 创建Lambda层的类似文件/文件夹结构:如下所示:
- 和部署模板,如:
`Unable to import module 'app': No module named 'sql'`
我试图阅读所有关于图层和Pycharm的可能资源,但没有任何真正的帮助
有人能帮忙吗
谢谢,我在PyCharm中通过添加一个符号链接到另一个包含层代码的目录,解决了这个问题。app.py中的
import
语句是什么样子的?@PeterHalverson,例如:from utils import*utils是依赖项/python/utils.py,它在AWS中的/opt下展开,并正确导入。错误是:(昨天我有一个类似的导入,但我希望是从sql.py文件导入的。)我正在用pyodbc进行尝试,并将其符号链接,但仍然存在问题。我将/pyodbc符号链接到/path/to/extracted/layer_归档文件,现在我导入了一个名为pyodbc的东西,但它没有任何预期的方法。
testFunc:
Type: AWS::Serverless::Function
Properties:
CodeUri: teest/
Handler: app.test
Runtime: python3.6
FunctionName: testFunc
Events:
test:
Type: Api
Properties:
Path: /test
Method: ANY
Layers:
- !Ref TempConversionDepLayer
TempConversionDepLayer:
Type: AWS::Serverless::LayerVersion
Properties:
LayerName: Layer1
Description: Dependencies
ContentUri: dependencies/
CompatibleRuntimes:
- python3.6
- python3.7
LicenseInfo: 'MIT'
RetentionPolicy: Retain
`Unable to import module 'app': No module named 'sql'`