如何使用 SQLAlchemy 连接到 Amazon Redshift 中的集群?

新手上路,请多包涵

在 Amazon Redshift 的 入门指南 中,提到您可以使用与 PostgreSQL 兼容的 SQL 客户端工具连接到您的 Amazon Redshift 集群。

在本教程中,他们使用 SQL Workbench/J 客户端,但我想使用 python(特别是 SQLAlchemy)。我发现了一个 相关的问题,但问题是它没有详细说明或连接到 Redshift 集群的 python 脚本。

我已经能够通过 SQL Workbench/J 连接到集群,因为我有 JDBC URL 以及我的用户名和密码,但我不确定如何连接到 SQLAlchemy。

根据此 文档,我尝试了以下操作:

 from sqlalchemy import create_engine
engine = create_engine('jdbc:redshift://shippy.cx6x1vnxlk55.us-west-2.redshift.amazonaws.com:5439/shippy')

错误:

 Could not parse rfc1738 URL from string 'jdbc:redshift://shippy.cx6x1vnxlk55.us-west-2.redshift.amazonaws.com:5439/shippy'

原文由 Chris 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 1k
2 个回答

我不认为 SQL Alchemy “天生”了解 Redshift。您需要更改 JDBC“URL”字符串以使用 postgres

 jdbc:postgres://shippy.cx6x1vnxlk55.us-west-2.redshift.amazonaws.com:5439/shippy

或者,您可能想尝试使用 sqlalchemy-redshift 使用他们提供的说明。

原文由 Joe Harris 发布,翻译遵循 CC BY-SA 3.0 许可协议

我遇到了完全相同的问题,然后我记得包括我的 Redshift 凭据:

 eng = create_engine('postgresql://[LOGIN]:[PASSWORD]@shippy.cx6x1vnxlk55.us-west-2.redshift.amazonaws.com:5439/shippy')

原文由 Jasper Croome 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题