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> ]
Copy

Paramètres requis

name

Chaî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 .ipynb dans 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éfinissez source_location sur 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 fichier ipynb.

QUERY_WAREHOUSE = warehouse_name

Spé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_seconds

Nombre 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_RUNTIME ou SYSTEM$GPU_RUNTIME), vous devez aussi inclure le paramètre COMPUTE_POOL. SYSTEM$WAREHOUSE_RUNTIME est 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_NAME est défini sur SYSTEM$BASIC_RUNTIME ou SYSTEM$GPU_RUNTIME.

Pour plus d’informations sur les pools de calcul, voir Snowpark Container Services : utilisation des pools de calcul.

WAREHOUSE = warehouse_name

L’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_NAME et COMPUTE_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;
Copy

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;
Copy

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;
Copy

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';
Copy

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';
Copy