在我的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()
这将打开外部浏览器进行身份验证。