2016-02-17 122 views
4

我的应用程序执行一些http请求,并将结果插入到SQL Server数据库中。 SQL服务器是在亚马逊的RDS服务,我使用默认的VPC设置。Python - SQL Server AWS Lambda集成

当我尝试使用它在AWS拉姆达(打包为它的AWS-拉姆达文档上所定义),它提供了如下错误:

module initialization error: 'ODBC Library is not found. Is LD_LIBRARY_PATH set?'

我使用pypyodbc作为蟒MSSQL模块。

我需要手动设置odbc库吗?

附角色包括policiy:

  • AWSLambdaVPCAccessExecutionRole

编辑:我试图用ceodbc和pyodbc,无法找到模块 “提出了” 错误。 (在virtualenv中使用ceodbc whl文件安装,pyodbc使用pip) 注意:这两个文件在根目录中具有.pyd文件扩展名,因为它们也位于site-packages文件夹中。我想amazon lambda在执行时不包含pyd文件。

编辑2:按照这些步骤,得到相同的错误。 https://docs.aws.amazon.com/lambda/latest/dg/vpc-rds-create-rds-mysql.html

回答

0

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

在Python中,最好的办法就是压缩所有在.zip前将拉姆达文件夹中安装你的包:(我不知道pypyodbcpymsql为我工作) $ pip install YOUR_MODULE -t YOUR_LAMBDA_FOLDER