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

如何使用 Python 在 AWS Lambda 上运行 SQLAlchemy

如何使用 Python 在 AWS Lambda 上运行 SQLAlchemy

BIG阳 2021-11-02 15:02:25
我准备了一个非常简单的文件来连接到外部 MySQL 数据库服务器,如下所示:from sqlalchemy import *def run(event, context):    sql = create_engine('mysql://root:root@127.0.0.1/scraper?charset=utf8');    metadata = MetaData(sql)    print(sql.execute('SHOW TABLES').fetchall())在 AWS 上不起作用,但在 Windows 上本地运行完美。接下来,我安装pip install sqlalchemy --target my/dir并准备 ZIP 文件以将包上传到 AWS Lambda。运行,但出现失败消息No module named 'MySQLdb': ModuleNotFoundError。然后,我使用pip install mysqlclient --target my/dir,创建 ZIP 并再次上传到 AWS Lambda。运行,但出现新的失败消息cannot import name '_mysql': ImportError。那么,我现在应该做什么?
查看完整描述

1 回答

?
侃侃尔雅

TA贡献1801条经验 获得超16个赞

SQLAlchemy 包括用于各种后端的许多方言实现。最常见数据库的方言包含在 SQLAlchemy 中;少数其他人需要额外安装单独的方言。

MySQL 方言使用 mysql-python 作为默认 DBAPI。有许多 MySQL DBAPI 可用,包括 MySQL-connector-python 和 OurSQL

而不是mysql你可以使用mysql+mysqlconnector

sql = create_engine('mysql+mysqlconnector://root:root@127.0.0.1/scraper?charset=utf8')

然后使用:

pip install mysql-connector --target my/dir

创建 Zip 并再次上传到 AWS Lambda。


查看完整回答
反对 回复 2021-11-02
  • 1 回答
  • 0 关注
  • 108 浏览
慕课专栏
更多

添加回答

举报

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