gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-11-29 02:10:18 24 4
gpt4 key购买 nike

我准备了一个非常简单的文件来连接到外部 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

那么,我现在应该做什么?

最佳答案

SQLAlchemy includes many Dialect implementations for various backends. Dialects for the most common databases are included with SQLAlchemy; a handful of others require an additional install of a separate dialect.

The MySQL dialect uses mysql-python as the default DBAPI. There are many MySQL DBAPIs available, including MySQL-connector-python and OurSQL

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

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

然后使用:

pip install mysql-connector --target my/dir

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

关于python - 如何使用 Python 在 AWS Lambda 上运行 SQLAlchemy,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54584232/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com