CREATE NOTEBOOK¶
Cria um novo notebook Snowflake ou substitui um notebook existente.
Sintaxe¶
CREATE [ OR REPLACE ] NOTEBOOK [ IF NOT EXISTS ] <name>
[ FROM '<source_location>' ]
[ MAIN_FILE = '<main_file_name>' ]
[ COMMENT = '<string_literal>' ]
[ QUERY_WAREHOUSE = <warehouse_to_run_nb_and_sql_queries_in> ]
[ IDLE_AUTO_SHUTDOWN_TIME_SECONDS = <number_of_seconds> ]
Parâmetros obrigatórios¶
name
Cadeia de caracteres que especifica o identificador (ou seja, nome) do notebook; deve ser único para o esquema no qual o notebook é criado.
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 caracteres do identificador esteja entre aspas duplas (por exemplo,
"My object"
). 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¶
FROM 'source_location'
Especifica que o notebook deve ser criado a partir de um arquivo
.ipynb
no local de estágio especificado ou a partir de um notebook privado:Para criar o notebook a partir de um arquivo em um estágio, defina
source_location
como o local do estágio do arquivo e defina o parâmetro MAIN_FILE como o nome do arquivo.Para criar o bloco de notas a partir de um bloco de notas privado (por exemplo, para disponibilizar um bloco de notas privado para uso compartilhado), defina esse parâmetro como:
'snow://notebook/USER$username.schema.notebook/versions/version$1/'
Onde:
username
é o seu nome de usuário.schema
é o nome do esquema com o notebook privado.notebook
é o nome do notebook privado.
Se esse parâmetro não for especificado, o objeto notebook será criado a partir de um notebook modelo.
MAIN_FILE = 'main_file_name'
Identificador especificado pelo usuário para o nome do arquivo do notebook. Isso é separado do nome do objeto do notebook, que é especificado no parâmetro
name
. Este arquivo deve ser um arquivoipynb
.QUERY_WAREHOUSE = warehouse_name
Especifica o warehouse em que as consultas SQL no notebook são executadas. Este parâmetro é opcional. No entanto, é necessário executar o comando EXECUTE NOTEBOOK.
IDLE_AUTO_SHUTDOWN_TIME_SECONDS = number_of_seconds
Número de segundos de tempo ocioso antes que o notebook seja desligado automaticamente. Este parâmetro só está disponível para notebooks em execução no tempo de execução do contêiner. O valor deve ser um inteiro entre 60 e 259200 (72 horas).
Padrão: 3600 segundos
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 |
---|---|
USAGE |
Banco de dados |
USAGE ou OWNERSHIP |
Esquema |
CREATE NOTEBOOK |
Esquema |
O privilégio USAGE no banco de dados e no esquema pai é necessário para executar operações em qualquer objeto de um esquema.
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¶
Em relação aos metadados:
Atenção
Os clientes devem garantir que nenhum dado pessoal (exceto para um objeto do usuário), dados sensíveis, dados controlados por exportação ou outros dados regulamentados sejam inseridos como metadados ao usar o serviço Snowflake. Para obter mais informações, consulte Campos de metadados no Snowflake.
Instruções CREATE OR REPLACE <object> são atômicas. Ou seja, quando um objeto é substituído, o objeto antigo é excluído e o novo objeto é criado em uma única transação.
Exemplos¶
O seguinte cria um notebook chamado mynotebook
:
CREATE NOTEBOOK mynotebook;
Embora o parâmetro QUERY_WAREHOUSE seja opcional, especificá-lo é recomendado ao criar um novo notebook para que EXECUTE NOTEBOOK possa ser executado no notebook.
CREATE NOTEBOOK mynotebook
QUERY_WAREHOUSE = my_warehouse;
O exemplo a seguir cria um notebook a partir de um arquivo ipynb
em um estágio:
CREATE NOTEBOOK mynotebook
FROM '@my_db.my_schema.my_stage'
MAIN_FILE = 'my_notebook_file.ipynb'
QUERY_WAREHOUSE = my_warehouse;