- Catégories :
Fonctions système (Informations système)
SYSTEM$GET_TASK_GRAPH_CONFIG¶
Renvoie des informations d’une configuration de graphique de tâches.
Pour plus d’informations sur le stockage des valeurs de configuration dans un graphique de tâches, voir CREATE TASK … CONFIG.
Syntaxe¶
SYSTEM$GET_TASK_GRAPH_CONFIG( [<configuration_path>] ) Arguments¶
configuration_pathOptional path of the configuration value to return.
Uses the same syntax as Snowflake queries for semi-structured data. See GET_PATH for more information.
Exemples¶
L’exemple suivant crée une tâche qui définit une configuration et utilise ensuite la fonction SYSTEM$GET_TASK_GRAPH_CONFIG pour récupérer les valeurs de la configuration.
CREATE OR REPLACE TASK root_task_with_config WAREHOUSE = mywarehouse SCHEDULE = '10 m' CONFIG = $${"output_dir": "/temp/test_directory/", "learning_rate": 0.1}$$ AS BEGIN LET OUTPUT_DIR STRING := SYSTEM$GET_TASK_GRAPH_CONFIG('output_dir')::string; LET LEARNING_RATE DECIMAL := SYSTEM$GET_TASK_GRAPH_CONFIG('learning_rate')::DECIMAL; ... END; Exemple : Transmettre des informations de configuration à une autre tâche dans un graphique de tâches¶
Vous pouvez transmettre des informations de configuration en utilisant un objet JSON que d’autres tâches d’un graphique de tâches peuvent lire.
Utilisez la syntaxe CREATE/ALTER TASK … CONFIG pour définir, annuler la définition ou modifier les informations de configuration dans la tâche racine. Ensuite, utilisez la fonction SYSTEM$GET_TASK_GRAPH_CONFIG pour les récupérer.
L’exemple suivant montre comment vous pouvez utiliser un objet JSON pour transmettre des informations de configuration et les stocker dans une table :
CREATE OR REPLACE TASK my_task_root SCHEDULE = '1 MINUTE' USER_TASK_TIMEOUT_MS = 60000 CONFIG = $${"environment":"production", "dir":"/my_prod_directory/"}$$ AS SELECT 1; CREATE OR REPLACE TASK my_child_task USER_TASK_TIMEOUT_MS = 600000 AFTER my_task_root AS BEGIN LET value := (SELECT SYSTEM$GET_TASK_GRAPH_CONFIG('dir')); CREATE TABLE IF NOT EXISTS my_table(name VARCHAR, value VARCHAR); INSERT INTO my_table VALUES('my_task_root dir',:value); END;