Contexto de sessão nos Snowflake Notebooks

O contexto de sessão de um notebook é definido pela função, warehouse, banco de dados e esquema sob os quais o notebook é executado. Ao criar um notebook, você define uma função, um warehouse, um banco de dados e um esquema a serem usados no notebook. Quando você executa o notebook, ele é executado como essa função, usando o warehouse definido no notebook e no contexto do banco de dados e do esquema que contém o notebook.

Este tópico descreve como acessar ou alterar o contexto de sessão de seu notebook.

Acesso ao contexto de sessão para um notebook

Você pode acessar o contexto de sessão usando Python e SQL.

Se você estiver usando a biblioteca Snowpark Python ou Snowflake Python APIs, use o método get_active_session() para obter o contexto de sessão ativa.

from snowflake.snowpark.context import get_active_session
session = get_active_session()
Copy

Para SQL, você pode usar as funções Funções de contexto SQL.

SELECT CURRENT_WAREHOUSE(), CURRENT_DATABASE(), CURRENT_SCHEMA();
Copy

Alteração do contexto de sessão para um notebook

Você pode alterar o contexto de sessão do notebook para usar uma função, um banco de dados e esquema, e/ou um warehouse diferentes:

  • Especifique uma função diferente para usar com o comando USE ROLE SQL.

    • Você pode verificar a função em uso pelo notebook chamando a função CURRENT_ROLE.

    • Se você alterar sua função para uma que não tenha privilégios para usar o warehouse, banco de dados ou esquema do notebook, as consultas que exigem um warehouse ou acesso ao banco de dados ou esquema do notebook não serão executadas. No entanto, você ainda pode executar consultas que não usam o warehouse, o banco de dados e o esquema do notebook.

    • Funções especificadas com o comando USE ROLE SQL não persiste nas sessões do notebook.

    • Se você especificar um banco de dados ou esquema para o qual a função ativa no momento não tenha privilégios de acesso, as consultas que usam esse banco de dados e esquema não serão executadas.

  • Se você executar o comando SQL USE SECONDARY ROLES para definir funções secundárias para ALL, as funções secundárias associadas ao seu usuário são usadas para gerar os resultados das células do notebook.

  • Especifique um warehouse diferente usando o comando SQL USE WAREHOUSE.

    • Você pode verificar o warehouse em uso para o notebook chamando a função CURRENT_WAREHOUSE.

  • Especifique um banco de dados ou esquema diferente usando os comandos SQL USE DATABASE ou USE SCHEMA.

    • Você pode verificar o banco de dados em uso para o notebook chamando a função CURRENT_DATABASE.

    • Se você referenciar objetos no banco de dados do notebook ou no banco de dados especificado em uma célula anterior do notebook, poderá simplificar suas instruções SQL para incluir apenas o esquema e o objeto que deseja referenciar, em vez do caminho totalmente qualificado para o objeto.

Próxima etapa