- Categorias:
Funções do sistema (Informações do sistema)
SYSTEM$GET_TASK_GRAPH_CONFIG¶
Retorna informações de uma configuração de gráfico de tarefas.
Para obter informações sobre como armazenar valores de configuração em um gráfico de tarefas, consulte CREATE TASK … CONFIG.
Sintaxe¶
SYSTEM$GET_TASK_GRAPH_CONFIG( [<configuration_path>] )
Argumentos¶
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.
Exemplos¶
O exemplo a seguir cria uma tarefa que define uma configuração e, em seguida, usa a função SYSTEM$GET_TASK_GRAPH_CONFIG para recuperar valores da configuração.
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;
Exemplo: Passar informações de configuração para outra tarefa em um gráfico de tarefas¶
Você pode passar informações de configuração usando um objeto JSON que outras tarefas em um gráfico de tarefas podem ler.
Use a sintaxe CREATE/ALTER TASK … CONFIG para definir, remover ou modificar as informações de configuração na tarefa raiz. Em seguida, use a função SYSTEM$GET_TASK_GRAPH_CONFIG para recuperá-las.
O exemplo a seguir mostra como você pode usar um objeto JSON para passar informações de configuração e armazená-las em uma tabela:
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;