EXECUTE NOTEBOOK

Executa o notebook fora do editor de notebook. Por exemplo, você pode executar EXECUTE NOTEBOOK por si só de uma planilha, aninhá-lo em outro executável do Snowflake, como um procedimento armazenado ou tarefa, ou usá-lo em um orquestrador de terceiros.

O comando executa o código mais recente de todas as células do notebook. Os resultados podem ser acessados no Notebook Editor.

Nota

EXECUTE NOTEBOOK também requer que o parâmetro QUERY_WAREHOUSE seja definido, caso contrário, ocorrerá um erro. Para definir o parâmetro QUERY_WAREHOUSE, use o comando ALTER NOTEBOOK.

Sintaxe

EXECUTE NOTEBOOK <name>([ <parameter_string> [ , ... ] ]);
Copy

Parâmetros obrigatórios

name

Especifica o identificador (ou seja, nome) do notebook. Deve ser único para o esquema no qual o notebook é criado. Deve ser totalmente qualificado se o notebook não estiver armazenado no database.schema atual em que você está operando.

Além disso, o identificador deve começar com um caractere alfabético e não pode conter espaços ou caracteres especiais, a menos que toda a cadeia de identificador esteja entre aspas duplas (por exemplo, “Meu objeto”). Os identificadores delimitados por aspas duplas também diferenciam letras maiúsculas de minúsculas.

Para obter mais informações, consulte Requisitos para identificadores.

Parâmetros opcionais

parameter_string

Opcionalmente, passe argumentos para um notebook. Em uma célula Python no notebook, você pode acessar esses argumentos usando a variável sys.argv.

Somente cadeias de caracteres são compatíveis; outros tipos de dados (como inteiros ou booleanos) são interpretados como NULL.

Requisitos de controle de acesso

A função usada para executar essa operação deve ter, no mínimo, os seguintes privilégios:

Privilégio

Objeto

Notas

OWNERSHIP

Notebook

OWNERSHIP is a special privilege on an object that is automatically granted to the role that created the object, but can also be transferred using the GRANT OWNERSHIP command to a different role by the owning role (or any role with the MANAGE GRANTS privilege).

Para instruções sobre como criar uma função personalizada com um conjunto específico de privilégios, consulte Criação de funções personalizadas.

Para informações gerais sobre concessões de funções e privilégios para executar ações de SQL em objetos protegíveis, consulte Visão geral do controle de acesso.

Notas de uso

Ao executar um notebook usando o comando EXECUTE NOTEBOOK:

  • As células Python são executadas no pool de computação definido pelo parâmetro RUNTIME.

  • Consultas SQL e Snowpark são executadas usando o warehouse virtual especificado no parâmetro WAREHOUSE.

Nota

Quando você executa um notebook que usa um pool de computação, o código Python é executado no pool de computação. No entanto, você poderá ver atividade em Query History mostrando que um warehouse foi usado para executar o comando EXECUTE NOTEBOOK. Este é um comportamento esperado. O warehouse é usado brevemente para inicializar o ambiente de execução do notebook, mas não consome nenhum crédito do warehouse. Toda a execução de código é feita pelo pool de computação.

Exemplo

O exemplo a seguir aciona a versão padrão do notebook especificado sem passar nenhum argumento:

EXECUTE NOTEBOOK MY_DB.PUBLIC.MY_NOTEBOOK();
Copy

Como passar parâmetros para um notebook

Opcionalmente, você pode passar argumentos ao executar um notebook. Nas células Python, você pode acessar esses argumentos usando a variável sys.argv, que é uma lista Python integrada que contém argumentos de linha de comando.

Você pode usar argumentos para personalizar o comportamento do notebook; por exemplo, você pode passar valores de entrada, especificar um ambiente de destino ou ajustar a lógica de execução com base nesses argumentos.

Exemplo

EXECUTE NOTEBOOK MY_DATABASE.PUBLIC.MY_NOTEBOOK(
  'parameter_string a,b,c,d',
  'target_database=PROD_DB'
);
Copy

Em uma célula Python no notebook, você pode acessar cada argumento como uma string na lista sys.argv.

Para saber como acessar e usar esses argumentos de um notebook (incluindo como analisar listas ou extrair pares chave-valor), consulte Desenvolvimento e execução de código nos Snowflake Notebooks.