我的应用程序执行一些http请求,并每天将结果插入sql server db。 sql server是在amazon的rds服务上,我使用default-vpc设置。
当我尝试在aws lambda中使用它(按照它在aws-lambda文档中定义的那样打包)时,它会出现以下错误:
模块初始化错误:找不到ODBC库。是否设置了LD_LIBRARY_PATH?'
我使用pypyodbc作为python mssql模块。
我需要手动设置odbc库吗?
附加角色包括政策:
编辑:我试图使用ceodbc和pyodbc,无法找到模块“”错误引发。 (使用ceodbc whl文件安装在virtualenv中,使用pip安装pyodbc)注意:这两个文件在根级别具有.pyd文件扩展名,因为它们也位于site-packages文件夹中。我猜amazon lambda在执行时不包含pyd文件。
Edit2:按照这些步骤,得到了同样的错误。 https://docs.aws.amazon.com/lambda/latest/dg/vpc-rds-create-rds-mysql.html
它似乎不是一个VPC问题,但更多的是不在lambda中的包的问题。
在python中,最好的方法是在压缩.zip中的所有内容之前将包安装在lambda文件夹中:$ pip install YOUR_MODULE -t YOUR_LAMBDA_FOLDER
(而且我不知道pypyodbc
但是pymsql
正在为我工作。)