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
Copy

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:

  1. 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
    
    Copy
  2. Adicione uma nova definição de conexão Snowflake.

    Por exemplo, para adicionar uma conexão Snowflake chamada myconnection com as credenciais de conta myaccount, usuário johndoe 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"
    
    Copy

    As definições de conexão oferecem suporte às mesmas opções de configuração disponíveis no método snowflake.connector.connect.

  3. 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"
    
    Copy
  4. Salve as alterações no arquivo.

  5. Em seu código Python, forneça o nome da conexão para snowflake.connector.connect e adicione-o em session, semelhante ao seguinte:

    session = Session.builder.config("connection_name", "myconnection").create()
    
    Copy

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:

  1. Crie um dicionário Python (dict) contendo os nomes e valores dos parâmetros para a conexão ao Snowflake.

  2. Passe este dicionário para o método Session.builder.configs para retornar um objeto construtor com esses parâmetros de conexão.

  3. Chame o método create do builder 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()
Copy

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:

  1. Crie um dicionário Python (dict) contendo os nomes e valores dos parâmetros para a conexão ao Snowflake.

  2. Passe este dicionário para o método Session.builder.configs para retornar um objeto construtor com esses parâmetros de conexão.

  3. Chame o método create do builder 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()
Copy

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()
Copy