Como criar uma sessão para o Snowpark Python¶
Para utilizar o Snowpark em seu aplicativo, você precisa criar uma sessão. Para conveniência em código escrito, você também pode importar os nomes dos pacotes e objetos.
Neste tópico:
Como criar uma sessão¶
O primeiro passo para usar a biblioteca é estabelecer uma sessão com o banco de dados do Snowflake.
Importe a classe da sessão.
from snowflake.snowpark import Session
Para autenticar, você pode usar os mesmos mecanismos que aqueles suportados pelo conector Snowflake para Python.
Estabeleça uma sessão com um banco de dados do Snowflake usando os mesmos parâmetros (por exemplo, o nome da conta, nome de usuário etc.) usados na função connect
no conector Snowflake para Python. Para obter mais informações, consulte os parâmetros para a função connect na documentação da API do conector de Python.
Como se conectar usando o arquivo connections.toml
¶
Para adicionar credenciais em um arquivo de configuração de conexões:
Em um editor de texto, abra o arquivo
connections.toml
para edição. Por exemplo, para abrir o arquivo no editor Linux vi:$ vi connections.toml
Adicione uma nova definição de conexão Snowflake.
Por exemplo, para adicionar uma conexão Snowflake chamada
myconnection
com as credenciais de contamyaccount
, usuáriojohndoe
e senha, bem como informações do banco de dados, adicione as seguintes linhas ao arquivo de configuração:[myconnection] account = "myaccount" user = "jdoe" password = "******" warehouse = "my-wh" database = "my_db" schema = "my_schema"
As definições de conexão oferecem suporte às mesmas opções de configuração disponíveis no método snowflake.connector.connect.
Opcional: adicione mais conexões, conforme mostrado:
[myconnection_test] account = "myaccount" user = "jdoe-test" password = "******" warehouse = "my-test_wh" database = "my_test_db" schema = "my_schema"
Salve as alterações no arquivo.
Em seu código Python, forneça o nome da conexão para
snowflake.connector.connect
e adicione-o emsession
, semelhante ao seguinte:session = Session.builder.config("connection_name", "myconnection").create()
Para obter mais informações, consulte o arquivo de configuração.
Como se conectar especificando parâmetros de conexão¶
Construa um dicionário (dict
) contendo os nomes e valores desses parâmetros (por exemplo, account
, user
, role
, warehouse
, database
, schema
etc.).
Para criar a sessão:
Crie um dicionário Python (
dict
) contendo os nomes e valores dos parâmetros para a conexão ao Snowflake.Passe este dicionário para o método
Session.builder.configs
para retornar um objeto construtor com esses parâmetros de conexão.Chame o método
create
dobuilder
para estabelecer a sessão.
O exemplo a seguir usa um dict
contendo parâmetros de conexão para criar uma nova sessão:
connection_parameters = {
"account": "<your snowflake account>",
"user": "<your snowflake user>",
"password": "<your snowflake password>",
"role": "<your snowflake role>", # optional
"warehouse": "<your snowflake warehouse>", # optional
"database": "<your snowflake database>", # optional
"schema": "<your snowflake schema>", # optional
}
new_session = Session.builder.configs(connection_parameters).create()
Para o parâmetro account
, use seu identificador da conta. Observe que o identificador da conta não inclui o sufixo snowflakecomputing.com.
Nota
Este exemplo mostra uma forma de criar uma sessão, mas há muitas outras formas de conexão, incluindo: o autenticador padrão, login único (SSO), autenticação multifator (MFA), autenticação de par de chaves, usando um servidor proxy e OAuth. Para obter mais informações, consulte Conexão ao Snowflake com o conector Python.
Uso do login único (SSO) em um navegador da Web¶
Se você tiver configurado o Snowflake para usar o login único (SSO), pode configurar seu aplicativo cliente para usar o SSO baseado em navegador para autenticação.
Construa um dicionário (dict
) contendo os nomes e valores desses parâmetros (por exemplo, account
, user
, role
, warehouse
, database
, authenticator
etc.).
Para criar a sessão:
Crie um dicionário Python (
dict
) contendo os nomes e valores dos parâmetros para a conexão ao Snowflake.Passe este dicionário para o método
Session.builder.configs
para retornar um objeto construtor com esses parâmetros de conexão.Chame o método
create
dobuilder
para estabelecer a sessão.
O exemplo a seguir usa um dict
com parâmetros de conexão para criar uma nova sessão. Defina a opção authenticator
como externalbrowser
.
from snowflake.snowpark import Session
connection_parameters = {
"account": "<your snowflake account>",
"user": "<your snowflake user>",
"role":"<your snowflake role>",
"database":"<your snowflake database>",
"schema":"<your snowflake schema",
"warehouse":"<your snowflake warehouse>",
"authenticator":"externalbrowser"
}
session = Session.builder.configs(connection_parameters).create()
Como encerrar uma sessão¶
Se você não precisar mais usar uma sessão para executar consultas e quiser cancelar qualquer consulta que esteja em execução no momento, chame o método close do objeto Session. Por exemplo:
new_session.close()