Exécution de notebooks avec des paramètres

Actuellement, les paramètres transmis dans la chaîne ARGUMENTS sont analysés dans la liste sys.argv qui utilise l’espace comme délimiteur.

Exemple : Exécuter un projet de notebook avec des paramètres

L’exemple suivant transmet deux arguments (env et prod) en utilisant ARGUMENTS = “prod env”.

Le premier élément (sys.argv[0]) est le nom du fichier du notebook, suivi des arguments séparés par des espaces.

EXECUTE NOTEBOOK PROJECT "<database_name>"."<schema_name>"."<project_name>"
  MAIN_FILE = 'snow://workspace/<workspace_hash>/path/to/notebook.ipynb' -- Notebook name with full file path
  COMPUTE_POOL = '<compute_pool_name>'
  RUNTIME = '<runtime_version>'    -- For example, V2.2-CPU-PY3.11
  QUERY_WAREHOUSE = '<warehouse_name>'
  ARGUMENTS = 'env prod' -- Can pass in a single string, which can be parsed in the notebook code. Point to the environment configuration.
  REQUIREMENTS_FILE = 'path/to/requirements.txt';
Copy

Afficher tous les arguments

Pour inspecter la liste complète des paramètres transmis à la session, utilisez le module sys.

import sys
print(sys.argv)
Copy

Exemple de sortie :

['exampletestSCOS.ipynb', 'env', 'prod']
Copy

Accéder à un argument spécifique

Les paramètres sont accessibles par leur index dans la liste. Comme sys.argv[0] est le nom du notebook, le premier paramètre utilisateur commence à index[1].

import sys

# Access the first user parameter
first_param = sys.argv[1]
print(first_param)
Copy

Exemple de sortie :

env
Copy

Pour obtenir la syntaxe complète et plus de détails sur les paramètres, consultez EXECUTE NOTEBOOK PROJECT.