使用无服务器框架v1.0.0,我的服务根目录中有一个'requirements.txt',内容是依赖python包的列表.(例如请求).
但是,由于看起来这些依赖项未作为打包的一部分安装,因此我的部署函数失败了
'无法导入模块'处理程序':没有名为requests的模块'
我认为它是无服务器的pip安装,但我的结果zip文件很小,很明显它没有这样做,无论是设计还是我的错,因为我错过了什么?是因为它的Lambda这样做了吗?如果是这样,我错过了什么?)
是否有文件说明了执行此操作所需的内容及其工作原理?是pip安装这些还是在aws lambda端无服务器?
感谢谢谢!
我正在尝试使用该serverless框架来创建和部署AWS Lambda函数.我创建了一个vendored在项目根目录中命名的文件夹,并安装(使用pip install)函数依赖项.但是,每当我尝试运行它(使用serverless function run)时,我都会收到错误:
无服务器:运行isNewUser ...
无服务器:警告:此变量未定义:区域
无服务器:-----------------
无服务器:失败 - 返回此错误:
无服务器:{"异常":["Traceback(最近一次调用最后一次):\n","File \"/ home/fernando/.nvm/versions/node/v5.10.1/bin/serverless-run-python-handler \",line 170,在\n handler = import_program_as_module(path)\n","File \"/ home/fernando/.nvm/versions/node/v5.10.1/bin/serverless-run-python-handler \",第149行,在import_program_as_module \n module = make_module_from_file('lambda_handler',handler_file)\n","File \"/ home/fernando/.nvm/versions/node/v5.10.1/bin/serverless-run-python-handler \",第129行,在make_module_from_file \n py_source_description \n","File \"/ home/fernando/workspace/os-cac/isNewUser/handler.py \",第11行,在\n中从vtex.order import Order \n" ,"ImportError:没有名为vtex.order的模块\n"],"成功":false}无服务器:来自Python
无服务器的异常消息:Traceback(最近一次调用最后一次):,Fil e"/home/fernando/.nvm/versions/node/v5.10.1/bin/serverless-run-python-handler",第170行,处理程序= import_program_as_module(路径),文件"/home/fernando/.nvm/版本/ node/v5.10.1/bin/serverless-run-python-handler",第149行,在import_program_as_module模块中= make_module_from_file('lambda_handler',handler_file),文件"/home/fernando/.nvm/versions/node/v5 .10.1/bin/serverless-run-python-handler",第129行,在make_module_from_file py_source_description,文件"/home/fernando/workspace/os-cac/isNewUser/handler.py",第11行,来自vtex.order import Order,ImportError:没有名为vtex.order的模块`
vtex.order 是在handler.py中导入的模块
我的项目结构如下:
/root/
|
|--_meta/
|--vendored/
|--dependencies...
|--function-name/
|--handler.py
|--event.json
|--s-function.json
|--requirements.txt
|--admin.env
|--package.json
|--s-project.json
|--s-resources-cf.json
|--s-project.json
Run Code Online (Sandbox Code Playgroud)
有什么我做错了吗?我应该以某种方式配置我的功能以包括来自vendored的依赖项?
我正在尝试将asyncpg与AWS Lambda一起使用,并在尝试时遇到下一个错误 import asyncpg
Unable to import module 'handler': No module named asyncpg.protocol.protocol'
Run Code Online (Sandbox Code Playgroud)
我在这个答案中导入了python依赖项,无论是否有虚拟环境.
UPD.发现这个使用自定义编译的repo psycopg2适用于AWS Lambda,但是asyncpg没有找到关于编译Lambda友好asyncpg包的替代或指令.