使用 python pyodbc 库创建 AWS Lambda 函数抛出错误“模块 'pyodbc' 没有属性‘connect’
Creating AWS Lambda function using python pyodbc library throw an error "module 'pyodbc' has no attribute ' connect'
我正在尝试创建一个简单的 Lambda 函数来查询 AWS RDS SQL 服务器的 msdb
以监控失败的作业。我从 https://github.com/Miserlou/lambda-packages/tree/master/lambda_packages/pyodbc 下载了 python 模块 pyodbc
将文件类型从 .tar.gz 更改为 zip 并提取两个文件 libodbc.so.2 和 pyodbc.so 然后我将这两个文件放在结构如下的 zip 文件夹中
pythonjob.zip\python\lib\python3.7\site-packages\pyodbc
和 pyodbc
存在 libodbc.so.2
和 pyodbc.so
然后我将 pythonjob.zip
文件上传到 Lambda 层并测试了我的脚本
import pyodbc
print(dir(pyodbc))
#ConnectionValues
endpoint = 'myservername.us-east-2.rds.amazonaws.com'
username = 'username'
password = 'password'
database_name = 'msdb'
conn = pyodbc.Connect( server= endpoint, user= username, password=password, database= database_name)
但是我收到错误 [ERROR] AttributeError: module 'pyodbc' has no attribute 'Connect'
并且 print(dir(pyodbc)) 打印 ['__doc__', '__file__', '__loader__', '__name__', '__package__', '__path__', '__spec__']
我不知道现在该做什么。感谢您的帮助。谢谢!
@Esu 请将连接语句更改为以下:
conn = pyodbc.connect('DRIVER={ODBC Driver 17 for SQL Server};SERVER='+endpoint+';DATABASE='+database_name+';UID='+username+';PWD='+ password)
此外,您正在使用的 lambda 层不包含所需的包。您可以从下面link下载文件,将zip上传到lambda层,然后重试连接。
希望有用。
我正在尝试创建一个简单的 Lambda 函数来查询 AWS RDS SQL 服务器的 msdb
以监控失败的作业。我从 https://github.com/Miserlou/lambda-packages/tree/master/lambda_packages/pyodbc 下载了 python 模块 pyodbc
将文件类型从 .tar.gz 更改为 zip 并提取两个文件 libodbc.so.2 和 pyodbc.so 然后我将这两个文件放在结构如下的 zip 文件夹中
pythonjob.zip\python\lib\python3.7\site-packages\pyodbc
和 pyodbc
存在 libodbc.so.2
和 pyodbc.so
然后我将 pythonjob.zip
文件上传到 Lambda 层并测试了我的脚本
import pyodbc
print(dir(pyodbc))
#ConnectionValues
endpoint = 'myservername.us-east-2.rds.amazonaws.com'
username = 'username'
password = 'password'
database_name = 'msdb'
conn = pyodbc.Connect( server= endpoint, user= username, password=password, database= database_name)
但是我收到错误 [ERROR] AttributeError: module 'pyodbc' has no attribute 'Connect'
并且 print(dir(pyodbc)) 打印 ['__doc__', '__file__', '__loader__', '__name__', '__package__', '__path__', '__spec__']
我不知道现在该做什么。感谢您的帮助。谢谢!
@Esu 请将连接语句更改为以下:
conn = pyodbc.connect('DRIVER={ODBC Driver 17 for SQL Server};SERVER='+endpoint+';DATABASE='+database_name+';UID='+username+';PWD='+ password)
此外,您正在使用的 lambda 层不包含所需的包。您可以从下面link下载文件,将zip上传到lambda层,然后重试连接。
希望有用。