Skip to content

Commit 6f778b3

Browse files
updates to Task definitions
1 parent 6bb8c8d commit 6f778b3

File tree

2 files changed

+43
-33
lines changed

2 files changed

+43
-33
lines changed

src/scripts/snowflake.yml.template

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@ env:
2020
openflow_user: "${OPENFLOW_USER}"
2121
daily_refresh_cron_schedule: "${DAILY_REFRESH_CRON_SCHEDULE}"
2222
cortex_search_wh: "${CORTEX_SEARCH_WH}"
23+
cortex_search_service_name: "${CORTEX_SEARCH_SERVICE_NAME}"
2324
streamlit_deployment_enabled: "${STREAMLIT_DEPLOYMENT_ENABLED}"
2425
streamlit_query_wh: "${STREAMLIT_QUERY_WH}"
2526
dbt_deps_eai: "${DBT_DEPS_EAI}"

src/sql/04_tasks.sql

Lines changed: 42 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ ALTER TASK IF EXISTS incm_deploy_cortex_agent SUSPEND;
2828
create or replace task incm_root_daily_incremental_refresh
2929
warehouse=<% ctx.env.dbt_pipeline_wh %>
3030
schedule='<% ctx.env.daily_refresh_cron_schedule %>'
31-
config='{dbt_project_name: "<% ctx.env.dbt_project_name %>", target: "<% ctx.env.dbt_target %>"}'
31+
config='{"dbt_project_name": "<% ctx.env.dbt_project_name %>", "target": "<% ctx.env.dbt_target %>"}'
3232
as SELECT 1;
3333

3434

@@ -64,7 +64,7 @@ create or replace task incm_daily_models_refresh
6464
-- Triggered Task for document based model refreshes
6565
create or replace task incm_root_triggered_docs_processing
6666
warehouse=<% ctx.env.dbt_pipeline_wh %>
67-
config='{dbt_project_name: "<% ctx.env.dbt_project_name %>", target: "<% ctx.env.dbt_target %>"}'
67+
config='{"dbt_project_name": "<% ctx.env.dbt_project_name %>", "target": "<% ctx.env.dbt_target %>"}'
6868
WHEN SYSTEM$STREAM_HAS_DATA('INCIDENT_MANAGEMENT.bronze_zone.documents_stream')
6969
as SELECT 1;
7070

@@ -85,7 +85,7 @@ CREATE OR REPLACE TASK incm_triggered_docs_processing
8585
-- No schedule — invoke manually via: EXECUTE TASK incm_root_deploy_cortex_services;
8686
create or replace task incm_root_deploy_cortex_tools
8787
warehouse=<% ctx.env.dbt_pipeline_wh %>
88-
config='{dbt_project_name: "<% ctx.env.dbt_project_name %>", target: "<% ctx.env.dbt_target %>", cortex_search_wh: "<% ctx.env.cortex_search_wh %>", cortex_search_service_name: "<% ctx.env.cortex_search_service_name %>"}'
88+
config='{"dbt_project_name": "<% ctx.env.dbt_project_name %>", "target": "<% ctx.env.dbt_target %>", "cortex_search_wh": "<% ctx.env.cortex_search_wh %>", "cortex_search_service_name": "<% ctx.env.cortex_search_service_name %>"}'
8989
as SELECT 1;
9090

9191
create or replace task incm_deploy_semantic_view
@@ -124,39 +124,48 @@ create or replace task incm_deploy_search_service
124124

125125
create or replace task incm_deploy_cortex_agent
126126
warehouse=<% ctx.env.dbt_pipeline_wh %>
127-
config='{dbt_project_name: "<% ctx.env.dbt_project_name %>", target: "<% ctx.env.dbt_target %>", database: "<% ctx.env.dbt_project_database %>", schema: "gold_zone", stage_name: "agent_specs", agent_spec_file: "incm360_agent_v200.yml"}'
127+
config='{"dbt_project_name": "<% ctx.env.dbt_project_name %>", "target": "<% ctx.env.dbt_target %>", "database": "<% ctx.env.dbt_project_database %>", "schema": "gold_zone", "stage_name": "agent_specs", "agent_spec_file": "incm360_agent_v200.yml"}'
128128
as
129129
EXECUTE IMMEDIATE
130130
$$
131-
BEGIN
132-
LET next_version := (SELECT
133-
'v'|| '_' ||
134-
ARRAY_CONSTRUCT(
135-
'phoenix','aurora','nebula','titan','vortex','zenith','blaze','comet',
136-
'spark','nova','echo','pulse','drift','frost','surge','lunar',
137-
'storm','ember','orbit','flare','prism','bolt','crest','dusk',
138-
'apex','onyx','reef','haze','peak','glow','rift','wave'
139-
)[ABS(MOD(RANDOM(), 32))]::STRING || '_' ||
140-
ARRAY_CONSTRUCT(
141-
'falcon','panther','dragon','wolf','hawk','tiger','cobra','raven',
142-
'shark','eagle','viper','bear','lynx','fox','orca','jaguar',
143-
'puma','mantis','osprey','bison','crane','otter','badger','heron'
144-
)[ABS(MOD(RANDOM(), 24))]::STRING
145-
AS version_name);
146-
147-
LET command := 'run-operation create_cortex_agent --args '||
148-
'"{' ||
149-
'agent_name: incident_management_agent, ' ||
150-
'database: ' || SYSTEM$GET_TASK_GRAPH_CONFIG('database') || ', ' ||
151-
'schema: ' || SYSTEM$GET_TASK_GRAPH_CONFIG('schema') || ', ' ||
152-
'stage_name: ' || SYSTEM$GET_TASK_GRAPH_CONFIG('stage_name') || ', ' ||
153-
'agent_spec_file: ' || SYSTEM$GET_TASK_GRAPH_CONFIG('agent_spec_file') || ', ' ||
154-
'next_version: ' || next_version ||
155-
'}' ||
156-
' --target ' || SYSTEM$GET_TASK_GRAPH_CONFIG('target');
157-
158-
EXECUTE DBT PROJECT SYSTEM$GET_TASK_GRAPH_CONFIG('dbt_project_name') args=:command;
159-
END;
131+
BEGIN
132+
LET next_version VARCHAR := (SELECT
133+
'v' || '_' ||
134+
ARRAY_CONSTRUCT(
135+
'phoenix','aurora','nebula','titan','vortex','zenith','blaze','comet',
136+
'spark','nova','echo','pulse','drift','frost','surge','lunar',
137+
'storm','ember','orbit','flare','prism','bolt','crest','dusk',
138+
'apex','onyx','reef','haze','peak','glow','rift','wave'
139+
)[ABS(MOD(RANDOM(), 32))]::STRING || '_' ||
140+
ARRAY_CONSTRUCT(
141+
'falcon','panther','dragon','wolf','hawk','tiger','cobra','raven',
142+
'shark','eagle','viper','bear','lynx','fox','orca','jaguar',
143+
'puma','mantis','osprey','bison','crane','otter','badger','heron'
144+
)[ABS(MOD(RANDOM(), 24))]::STRING
145+
AS version_name);
146+
147+
LET db VARCHAR := SYSTEM$GET_TASK_GRAPH_CONFIG('database');
148+
LET sch VARCHAR := SYSTEM$GET_TASK_GRAPH_CONFIG('schema');
149+
LET stage VARCHAR := SYSTEM$GET_TASK_GRAPH_CONFIG('stage_name');
150+
LET spec_file VARCHAR := SYSTEM$GET_TASK_GRAPH_CONFIG('agent_spec_file');
151+
LET target VARCHAR := SYSTEM$GET_TASK_GRAPH_CONFIG('target');
152+
LET dbt_project VARCHAR := SYSTEM$GET_TASK_GRAPH_CONFIG('dbt_project_name');
153+
154+
LET dq VARCHAR := CHR(34);
155+
156+
LET args_yaml VARCHAR := :dq || '{agent_name: incident_management_agent, ' ||
157+
'database: ' || :db || ', ' ||
158+
'schema: ' || :sch || ', ' ||
159+
'stage_name: ' || :stage || ', ' ||
160+
'agent_spec_file: ' || :spec_file || ', ' ||
161+
'next_version: ' || :next_version || '}' || :dq;
162+
163+
LET command VARCHAR := 'run-operation create_cortex_agent --args ' || :args_yaml || ' --target ' || :target;
164+
165+
LET stmt VARCHAR := 'EXECUTE DBT PROJECT ' || :dbt_project || ' ARGS = ''' || REPLACE(:command, '''', '''''') || '''';
166+
167+
EXECUTE IMMEDIATE :stmt;
168+
END;
160169
$$
161170
;
162171

0 commit comments

Comments
 (0)