Python 无法导入模块“lambda_函数”:没有名为“cx_Oracle”的模块
我现在正试图在Python中创建一个AWS Lambda函数来连接到Oracle数据库,只是一个测试连接。但我没有成功地完成流程。每次我看到此错误消息时: { "errorMessage": "Unable to import module 'lambda_function': No module named 'cx_Oracle'", "errorType": "Runtime.ImportModuleError" } 我的网站包文件夹: **我的lambda配置:**Python 无法导入模块“lambda_函数”:没有名为“cx_Oracle”的模块,python,amazon-web-services,aws-lambda,Python,Amazon Web Services,Aws Lambda,我现在正试图在Python中创建一个AWS Lambda函数来连接到Oracle数据库,只是一个测试连接。但我没有成功地完成流程。每次我看到此错误消息时: { "errorMessage": "Unable to import module 'lambda_function': No module named 'cx_Oracle'", "errorType": "Runtime.ImportModuleError" } 我的网站包文件夹: **我的lambda
对于lambda中的python3.7附加路径,请使用PYTHONPATH环境变量,并将LIB保存在此文件夹中
对于lambda中的python3.7附加路径,请使用PYTHONPATH环境变量,并将LIB保存在此文件夹中
AWS Lambda在Amazon Linux上运行,因此在本例中,您需要cx_Oracle的兼容库 只需下载whl,解压缩它,然后将.so文件复制到您的lib文件夹中 这样Lambda就能认出cx_Oracle了 文件夹结构应如下所示:
AWS Lambda在Amazon Linux上运行,因此在本例中,您需要兼容的cx_Oracle库 只需下载whl,解压缩它,然后将.so文件复制到您的lib文件夹中 这样Lambda就能认出cx_Oracle了 文件夹结构应如下所示:
import cx_Oracle
# Yeah, you need this
with open('/tmp/HOSTALIASES', 'w') as f: f.write(f'{os.uname()[1]} localhost\n')
# Oracle away!
def lambda_handler(event, context):
return str(
cx_Oracle.connect(
'username',
'password',
cx_Oracle.makedsn(
'rds.amazonaws.com', 1521, 'SOME_SID',
)
).cursor().execute('SELECT 42 FROM DUAL').fetchone()
)