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'(default): Runs the notebook in a Snowflake warehouse (Warehouse Runtime only).'SYSTEM$BASIC_RUNTIME': Runs the notebook in a Snowpark Container Services (SPCS) container using a CPU runtime (Container Runtime only).'SYSTEM$GPU_RUNTIME': Runs the notebook in a Snowpark Container Services (SPCS) container using a GPU runtime (Container Runtime only).
When specifying a Container Runtime (
SYSTEM$BASIC_RUNTIMEorSYSTEM$GPU_RUNTIME), you must also include theCOMPUTE_POOLparameter.SYSTEM$WAREHOUSE_RUNTIMEis for Warehouse Runtime only.COMPUTE_POOL = compute_pool_name(Container Runtime only) Specifies the compute pool that hosts the notebook when using a Container Runtime. This parameter is required when
RUNTIME_NAMEis set toSYSTEM$BASIC_RUNTIMEorSYSTEM$GPU_RUNTIME.For more information about compute pools, see Snowpark Container Services : utilisation des pools de calcul.
WAREHOUSE = warehouse_nameThe warehouse is used to run:
For Warehouse Runtime: Both the notebook kernel and SQL queries (including Snowpark pushdown compute).
For Container Runtime: Only SQL queries (including Snowpark pushdown compute). The notebook kernel runs on the compute pool.
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 |
Operating on an object in a schema requires at least one privilege on the parent database and at least one privilege on the parent schema.
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¶
When creating a notebook that uses a Container Runtime, the notebook runs inside a Snowpark Container Services environment. Container runtime notebooks must specify both the
RUNTIME_NAMEandCOMPUTE_POOLparameters.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';