【问题标题】:How do you connect as a Snowflake Reader Account from Python?如何从 Python 连接到 Snowflake Reader 帐户?
【发布时间】:2021-05-15 17:57:20
【问题描述】:

Snowflake Python 连接器仅适用于使用 CREATE USER 命令创建的用户,似乎不适用于托管读者帐户。

在网页界面上:

CREATE MANAGED ACCOUNT python_reader_acct ADMIN_NAME = reader_1, ADMIN_PASSWORD = 'reader_pwd', TYPE = READER;

在 Python 上:

import snowflake.connector
ctx = snowflake.connector.connect(
    user='reader_1',
    password='reader_pwd',
    account='xxxx.ca-central-1.aws',
    <....>)

会给出凭证错误: snowflake.connector.errors.DatabaseError:250001 (08001):无法连接到数据库:*****.ca-central-1.aws.snowflakecomputing.com:443。指定的用户名或密码不正确。

Snowflake 的文档只提到了创建和删除读者帐户,在授予读者权限或以读者身份连接的方式上并没有太多。

【问题讨论】:

    标签: python snowflake-cloud-data-platform reader


    【解决方案1】:

    Snowflake 阅读器帐户在创建后就像普通帐户一样,除了文档中描述的执行 DML 语句的限制。因此,一旦您创建了读者帐户,您应该能够使用您的用户/密码登录它。但是,您应该已经获得了牌照类型的帐户名称。在上面的示例中,xxxx 是读者帐户还是您运行 CREATE MANAGED ACCOUNT 的帐户?

    另外,您能否说明您是否能够通过 Snowflake UI 登录到读者帐户?应该与 Python 没有什么不同,但可能会帮助您诊断问题。

    【讨论】:

    • 谢谢迈克。 xxxx 是运行 CREATE MANAGED ACCOUNT 的提供者帐户,因此我将其替换为读者帐户,并且凭据错误消失了。新的错误是对象不存在,或无法执行操作。这是我的另一个问题——我如何授予许可? GRANT ROLE reader_role TO USER reader_1 抛出错误:reader_1 不存在或未授权。无法通过 Snowflake UI 以阅读器身份登录(用户/密码错误)。尝试了读者帐户名 (python_reader_acct) 和用户名 (reader_1) 以及 URL 上的提供者/读者帐户。
    • Raj - 读者帐户是一个全新的帐户。您需要将用户和角色添加到新的读者帐户,授予这些角色的权限等。您完成了所有这些吗?在这方面,它与您的提供商帐户没有什么不同,但它是一个完全独立的帐户。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-11-30
    • 1970-01-01
    • 2021-10-05
    • 1970-01-01
    • 2020-12-17
    • 1970-01-01
    • 2021-09-27
    相关资源
    最近更新 更多