Python - SQL Server AWS Lambda集成

问题描述 投票:4回答:1

我的应用程序执行一些http请求,并每天将结果插入sql server db。 sql server是在amazon的rds服务上,我使用default-vpc设置。

当我尝试在aws lambda中使用它(按照它在aws-lambda文档中定义的那样打包)时,它会出现以下错误:

模块初始化错误:找不到ODBC库。是否设置了LD_LIBRARY_PATH?'

我使用pypyodbc作为python mssql模块。

我需要手动设置odbc库吗?

附加角色包括政策:

  • AWSLambdaVPCAccessExecutionRole

编辑:我试图使用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

python sql-server amazon-web-services aws-lambda
1个回答
0
投票

它似乎不是一个VPC问题,但更多的是不在lambda中的包的问题。

在python中,最好的方法是在压缩.zip中的所有内容之前将包安装在lambda文件夹中:$ pip install YOUR_MODULE -t YOUR_LAMBDA_FOLDER

(而且我不知道pypyodbc但是pymsql正在为我工​​作。)

© www.soinside.com 2019 - 2024. All rights reserved.