CREATE NOTEBOOK¶
Crée un nouveau notebook Snowflake ou remplace un notebook existant.
Syntaxe¶
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> ]
[ RUNTIME_NAME = '<runtime_name>' ]
[ COMPUTE_POOL = '<compute_pool_name>' ]
[ WAREHOUSE = <warehouse_to_run_notebook_python_runtime> ]
Paramètres requis¶
nameChaîne qui spécifie l’identificateur (c’est-à-dire le nom) du notebook ; doit être unique pour le schéma dans lequel le notebook est créé.
De plus, l’identificateur doit commencer par un caractère alphabétique et ne peut pas contenir d’espaces ou de caractères spéciaux à moins que toute la chaîne d’identificateur soit délimitée par des guillemets doubles (par exemple,
"My object"). Les identificateurs entre guillemets doubles sont également sensibles à la casse.Pour plus d’informations, voir Exigences relatives à l’identificateur.
Paramètres facultatifs¶
FROM 'source_location'Spécifie que le notebook doit être créé à partir d’un fichier
.ipynbdans l’emplacement de la zone de préparation interne spécifiée. Pour créer le notebook à partir d’un fichier dans une zone de préparation, définissezsource_locationsur l’emplacement de la zone de préparation du fichier et définissez le paramètre MAIN_FILE sur le nom du fichier.Si ce paramètre n’est pas spécifié, l’objet du notebook est créé à partir d’un modèle de notebook.
MAIN_FILE = 'main_file_name'Identificateur spécifié par l’utilisateur pour le nom de fichier de notebook. Cela est différent du nom d’objet de notebook, qui est spécifié dans le paramètre
name. Ce fichier doit être un fichieripynb.QUERY_WAREHOUSE = warehouse_nameSpécifie l’entrepôt dans lequel sont exécutées les requêtes SQL dans le notebook. Ce paramètre est facultatif. Cependant, il est nécessaire d’exécuter la commande EXECUTE NOTEBOOK.
IDLE_AUTO_SHUTDOWN_TIME_SECONDS = number_of_secondsNombre de secondes d’inactivité avant l’arrêt automatique du carnet. Ce paramètre n’est disponible que pour les carnets exécutés sur le Container Runtime. La valeur doit être un entier compris entre 60 et 259200 (72 heures).
La valeur par défaut est 3 600 secondes.
RUNTIME_NAME = runtime_name'SYSTEM$WAREHOUSE_RUNTIME'(par défaut) : Exécute le notebook dans un entrepôt Snowflake (Runtime d’entrepôt uniquement).'SYSTEM$BASIC_RUNTIME': Exécute le notebook dans un conteneur Snowpark Container Services (SPCS) utilisant un environnement d’exécution CPU (Container Runtime uniquement).'SYSTEM$GPU_RUNTIME': Exécute le notebook dans un conteneur Snowpark Container Services (SPCS) utilisant un environnement d’exécution GPU (Container Runtime uniquement).
Lors de la spécification d’un Container Runtime (
SYSTEM$BASIC_RUNTIMEouSYSTEM$GPU_RUNTIME), vous devez aussi inclure le paramètreCOMPUTE_POOL.SYSTEM$WAREHOUSE_RUNTIMEest uniquement utilisé pour le Runtime d’entrepôt.COMPUTE_POOL = compute_pool_name(Container Runtime uniquement) Spécifie le pool de calcul qui héberge le notebook lors de l’utilisation de Container Runtime. Ce paramètre est nécessaire lorsque
RUNTIME_NAMEest défini surSYSTEM$BASIC_RUNTIMEouSYSTEM$GPU_RUNTIME.Pour plus d’informations sur les pools de calcul, voir Snowpark Container Services : utilisation des pools de calcul.
WAREHOUSE = warehouse_nameL’entrepôt est utilisé pour exécuter :
Pour le Runtime d’entrepôt : Le noyau du notebook et les requêtes SQL (y compris le calcul pushdown Snowpark).
Pour le Container Runtime : Uniquement les requêtes SQL (y compris le calcul pushdown Snowpark). Le noyau du notebook s’exécute sur le pool de calcul.
If you don’t specify a warehouse when you create a notebook, Snowflake uses the default warehouse defined by the schema lineage parameter
DEFAULT_STREAMLIT_NOTEBOOK_WAREHOUSE. You can set this parameter at the schema, database, or account lineage level to define a preferred warehouse.
Exigences en matière de contrôle d’accès¶
Un rôle utilisé pour exécuter cette opération doit au minimum disposer des privilèges suivants :
Privilège |
Objet |
|---|---|
USAGE |
Base de données |
USAGE ou OWNERSHIP |
Schéma |
CREATE NOTEBOOK |
Schéma |
Pour effectuer une opération sur un objet dans un schéma, il est nécessaire de disposer d’au moins un privilège sur la base de données parente et d’au moins un privilège sur le schéma parent.
Pour obtenir des instructions sur la création d’un rôle personnalisé avec un ensemble spécifique de privilèges, voir Création de rôles personnalisés.
Pour des informations générales sur les rôles et les privilèges accordés pour effectuer des actions SQL sur des objets sécurisables, voir Aperçu du contrôle d’accès.
Notes sur l’utilisation¶
Lors de la création d’un notebook qui utilise un Container Runtime, le notebook s’exécute à l’intérieur d’un environnement Snowpark Container Services. Les notebooks Container Runtime doivent spécifier à la fois les paramètres
RUNTIME_NAMEetCOMPUTE_POOL.Concernant les métadonnées :
Attention
Les clients doivent s’assurer qu’aucune donnée personnelle (autre que pour un objet utilisateur), donnée sensible, donnée à exportation contrôlée ou autre donnée réglementée n’est saisie comme métadonnée lors de l’utilisation du service Snowflake. Pour plus d’informations, voir Champs de métadonnées dans Snowflake.
Les clauses OR REPLACE et IF NOT EXISTS s’excluent mutuellement. Elles ne peuvent pas être utilisées dans la même instruction.
Les instructions CREATE OR REPLACE <objet> sont atomiques. En d’autres termes, lorsqu’un objet est remplacé, l’ancien objet est supprimé et le nouvel objet est créé dans une seule transaction.
Exemples¶
La procédure suivante crée un notebook nommé mynotebook :
CREATE NOTEBOOK mynotebook;
Bien que le paramètre QUERY_WAREHOUSE soit facultatif, il est recommandé de le spécifier lors de la création d’un nouveau notebook afin de pouvoir appliquer EXECUTE NOTEBOOK à l’entrepôt.
CREATE NOTEBOOK mynotebook
QUERY_WAREHOUSE = my_warehouse;
L’exemple suivant crée un notebook à partir d’un fichier ipynb dans une zone de préparation :
CREATE NOTEBOOK mynotebook
FROM '@my_db.my_schema.my_stage'
MAIN_FILE = 'my_notebook_file.ipynb'
QUERY_WAREHOUSE = my_warehouse;
The following example creates a notebook using Container Runtime (CPU):
CREATE NOTEBOOK my_cpu_notebook
RUNTIME_NAME = 'SYSTEM$BASIC_RUNTIME'
COMPUTE_POOL = 'my_compute_pool';
The following example creates a notebook using Container Runtime (GPU):
CREATE NOTEBOOK my_gpu_notebook
RUNTIME_NAME = 'SYSTEM$GPU_RUNTIME'
COMPUTE_POOL = 'gpu_pool_1';