Gerenciamento de Snowflake Notebooks com Python¶
É possível usar Python para gerenciar Snowflake Notebooks, que é uma interface de desenvolvimento no Snowsight que oferece um ambiente de programação interativo baseado em células para Python e SQL. Para obter mais informações, consulte Sobre o Legacy Snowflake Notebooks.
O Snowflake Python APIs representa notebooks com dois tipos separados:
Notebook: Expõe as propriedades de um notebook, como nome, versão, warehouse de consulta e arquivo.ipynb.NotebookResource: Expõe métodos que podem ser usados para buscar um objetoNotebookcorrespondente, gerenciar versões do notebook e executar o notebook.
Pré-requisitos¶
Os exemplos neste tópico pressupõem que você tenha adicionado código para se conectar ao Snowflake e criar um objeto Root a partir do qual usar o Snowflake Python APIs.
Por exemplo, o seguinte código usa parâmetros de conexão definidos em um arquivo de configuração para criar uma conexão com o Snowflake:
Usando o objeto Session resultante, o código cria um objeto Root para usar os tipos e métodos de API. Para obter mais informações, consulte Conexão ao Snowflake com o Snowflake Python APIs.
Criação de um notebook¶
Para criar um notebook, primeiro crie um objeto Notebook e depois crie um objeto NotebookCollection a partir do objeto Root da API. Usando NotebookCollection.create, adicione o novo notebook ao Snowflake.
O código no exemplo a seguir cria um objeto Notebook que representa um notebook nomeado my_nb no banco de dados my_db e no esquema my_schema:
O código cria uma variável NotebookCollection chamada notebooks e usa NotebookCollection.create para criar um novo notebook no Snowflake.
Você também pode criar um notebook a partir de um estágio com um arquivo .ipynb existente. O código no exemplo a seguir cria um notebook a partir do estágio @my_stage com o arquivo notebook_file.ipynb:
Como obter detalhes do notebook¶
É possível obter informações sobre um notebook chamando o método NotebookResource.fetch, que retorna um objeto Notebook.
O código no exemplo a seguir obtém informações sobre um notebook nomeado my_nb no banco de dados my_db e no esquema my_schema:
Listagem de cadernos¶
É possível listar notebooks usando o método NotebookCollection.iter, que retorna um iterador PagedIter de objetos Notebook.
O código no exemplo a seguir lista os notebooks cujo nome começa com my no banco de dados my_db e no esquema my_schema e, em seguida, imprime o nome de cada um:
Execução de operações de notebook¶
É possível executar operações comuns de notebook – como gerenciar versões e executar notebooks – com um objeto NotebookResource.
Para demonstrar algumas operações que é possível realizar com um recurso de notebook, o código no exemplo a seguir faz o seguinte:
Obtém o objeto de recurso do notebook
my_nb.Adiciona uma versão ativa ao objeto notebook. Isso equivale a ALTER NOTEBOOK … ADD LIVE VERSION.
Envia a versão ativa do notebook para um repositório Git, se uma conexão Git estiver definida. Caso contrário, define a versão ativa para
null.Para obter mais informações, consulte ALTER NOTEBOOK.
Executa o notebook.
Nota
Para executar um notebook, é necessário primeiro adicionar uma versão ativa a ele.
Descarta o notebook.