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' (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_RUNTIME or SYSTEM$GPU_RUNTIME), you must also include the COMPUTE_POOL parameter. SYSTEM$WAREHOUSE_RUNTIME is 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_NAME is set to SYSTEM$BASIC_RUNTIME or SYSTEM$GPU_RUNTIME.

For more information about compute pools, see Snowpark Container Services : utilisation des pools de calcul.

WAREHOUSE = warehouse_name

The 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_NAME and COMPUTE_POOL parameters.

  • 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