将 Ipython-sql 与雪花和外部浏览器身份验证器一起使用
Use Ipython-sql with snowflake and externalbrowser authenticator
在我的 jupyter notebook 中,我使用外部浏览器身份验证连接到 snowflake,如下所示:
conn = snowflake.connector.connect(
user='<my user>',
authenticator='externalbrowser',
account='<my account>',
warehouse='<the warehouse>')
这会打开一个外部浏览器进行身份验证,然后可以正常使用 pandas 读取 sql:
pd.read_sql('<a query>', conn)
想将它与 ipython sql 一起使用,但是当我尝试时:
%sql snowflake://conn.user@conn.account
我得到:
snowflake.connector.errors.ProgrammingError) Password is empty
好吧,我没有:)
有什么想法可以通过吗?
IPython-sql 连接字符串是 SQLAlchemy URL 标准,因此您可以执行以下操作:
%load_ext sql
from sqlalchemy import create_engine
from snowflake.sqlalchemy import URL
engine = create_engine(URL(
account = '<account>',
user = '<user>',
database = 'testdb',
schema = 'public',
warehouse = '<wh>',
role='public',
authenticator='externalbrowser'
))
connection = engine.connect()
这将打开外部浏览器进行身份验证。
在我的 jupyter notebook 中,我使用外部浏览器身份验证连接到 snowflake,如下所示:
conn = snowflake.connector.connect(
user='<my user>',
authenticator='externalbrowser',
account='<my account>',
warehouse='<the warehouse>')
这会打开一个外部浏览器进行身份验证,然后可以正常使用 pandas 读取 sql:
pd.read_sql('<a query>', conn)
想将它与 ipython sql 一起使用,但是当我尝试时:
%sql snowflake://conn.user@conn.account
我得到:
snowflake.connector.errors.ProgrammingError) Password is empty
好吧,我没有:) 有什么想法可以通过吗?
IPython-sql 连接字符串是 SQLAlchemy URL 标准,因此您可以执行以下操作:
%load_ext sql
from sqlalchemy import create_engine
from snowflake.sqlalchemy import URL
engine = create_engine(URL(
account = '<account>',
user = '<user>',
database = 'testdb',
schema = 'public',
warehouse = '<wh>',
role='public',
authenticator='externalbrowser'
))
connection = engine.connect()
这将打开外部浏览器进行身份验证。