将Ipython sql与雪花和外部浏览器验证器一起使用



在我的jupyter笔记本中,我使用外部浏览器身份验证连接到雪花,如下所示:

conn = snowflake.connector.connect(
user='<my user>',
authenticator='externalbrowser',
account='<my account>',
warehouse='<the warehouse>')

这将打开一个外部浏览器进行身份验证,之后可以很好地使用panda读取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()

这将打开外部浏览器进行身份验证。

相关内容

最新更新