为了账号安全,请及时绑定邮箱和手机立即绑定

在 aws lambda 上运行时如何解决 python 中的 cx_Oracle 问题

在 aws lambda 上运行时如何解决 python 中的 cx_Oracle 问题

神不在的星期二 2021-06-02 09:17:07
我在 aws lambda 上测试时遇到了以下错误消息。Unable to import module 'lambda_handler': No module named 'cx_Oracle'这个 lambda 由 python 代码组成,但在我的本地主机上特别有效。另外,我pip install cx_Oracle -t ./在 lambda_handler.py 文件路径的同一级别上执行命令,并且上传的 zip 文件的文件路径在此之下。./lambda_handler.py./cx_Oracle.cp36-win_amd64.pyd./cx_Oracle-6.4.1.dist-info/*./cx_Oracle-doc/*我不明白为什么 lambda_handler 只能cx_Oracle library在 lambda 函数中找不到。我错过了什么?import cx_Oracleimport boto3from docutils.nodes import rowdef lambda_handler(event, context):    url = 'myOracleUrl'    user = 'myOralceUserId'    pwd = 'myOraclePwd'    con = cx_Oracle.connect(user + '/' + pwd + '@' + url)    cur = con.cursor()    cur.execute("select 1 from dual")    cur.close()    con.close()    return {        "statusCode": 200,        "body": context.invoked_function_arn    }
查看完整描述

3 回答

?
POPMUISE

TA贡献1765条经验 获得超5个赞

cx_Oracle不仅需要pip install,还需要轮子依赖的本机 Oracle 客户端。Lambda 函数在具有有限选择的本机库的 EC2 上运行。就其价值而言,几乎所有 RDBMS 都会遇到同样的问题——PostgreSQL、MySQL 等。

有关更多信息,请参阅本文:http : //kb.sites.apiit.edu.my/knowledge-base/articles/aws/aws-chalice-deployment-with-oracle-vendor/

请注意,它用于基于 Chalice 的部署,但底层要求是相同的。


查看完整回答
反对 回复 2021-06-15
  • 3 回答
  • 0 关注
  • 127 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信