【问题标题】:How to connect SQLAlchemy to Snowflake database using OAuth2?如何使用 OAuth2 将 SQLAlchemy 连接到 Snowflake 数据库?
【发布时间】:2022-01-10 16:31:33
【问题描述】:

我需要使用 SQLAlchemy 连接到 Snowflake,但诀窍是,我需要使用 OAuth2 进行身份验证。 Snowflake 文档仅描述了使用用户名和密码进行连接,这不能用于我正在构建的解决方案中。我可以使用 Snowflake 的 python 连接器进行身份验证,但我看不到如何将其与 SQLAlchemy 粘合的简单路径。在为此编写自定义界面之前,我想知道是否有现成的解决方案。

【问题讨论】:

    标签: python oauth-2.0 sqlalchemy snowflake-cloud-data-platform snowflake-connector


    【解决方案1】:

    使用snowflake.connector.connect 创建到数据库的 PEP-249 连接 - see documentation。然后使用create_engine (docs) 的参数creator - 它需要一个返回PEP-249 连接的可调用对象。如果你使用它,那么 URL 参数将被忽略。

    示例代码:

    def get_connection():
        return snowflake.connector.connect(
            user="<username>",
            host="<hostname>",
            account="<account_identifier>",
            authenticator="oauth",
            token="<oauth_access_token>",
            warehouse="test_warehouse",
            database="test_db",
            schema="test_schema"
        )
    engine = create_engine("snowflake://not@used/db", creator=get_connection)
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-03-03
      • 2015-04-11
      • 2020-04-05
      • 1970-01-01
      • 2020-10-27
      • 2018-03-26
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多