gpt4 book ai didi

python - 是否可以将 SQLAlchemy 与 AWS RDS 数据 API 结合使用?

转载 作者:行者123 更新时间:2023-12-01 07:44:57 25 4
gpt4 key购买 nike

AWS 最近推出了 Data API 。这简化了 Lambda 函数的创建,通过允许 API 调用而不是直接数据库连接,消除了额外复杂性的必要性。

我正在尝试在 AWS Lambda 函数中使用 SQLAlchemy,并且我真的很想利用这个新 API。

有谁知道是否有任何支持,或者是否即将提供支持?

或者,创建一个新的引擎来支持这一点有多困难?

最佳答案

SQLAlchemy 调用数据库驱动程序 "dialects" 。因此,如果您将 SQLAlchemy 与 PostgreSQL 结合使用并使用 psycopg2 作为驱动程序,那么您将使用 PostgreSQL 的 psycopg2 方言。

我正在寻找与你相同的东西,但没有找到现有的解决方案,所以我自己编写并发布了它。为了使用 AWS Aurora RDS 数据 API,我为其创建了一个 SQL 方言包 sqlalchemy-aurora-data-api 。这又要求我为 Aurora 数据 API 编写一个兼容 DB-API 的 Python DB 驱动程序 aurora-data-api 。使用pip install sqlalchemy-aurora-data-api安装后,您可以像这样使用它:

from sqlalchemy import create_engine

cluster_arn = "arn:aws:rds:us-east-1:123456789012:cluster:my-aurora-serverless-cluster"
secret_arn = "arn:aws:secretsmanager:us-east-1:123456789012:secret:MY_DB_CREDENTIALS"

engine = create_engine('postgresql+auroradataapi://:@/my_db_name',
echo=True,
connect_args=dict(aurora_cluster_arn=cluster_arn, secret_arn=secret_arn))

with engine.connect() as conn:
for result in conn.execute("select * from pg_catalog.pg_tables"):
print(result)

关于python - 是否可以将 SQLAlchemy 与 AWS RDS 数据 API 结合使用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56508149/

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