Snowflake cloud data platform 基于雪花事件的任务调度,而不是基于时间的任务调度

Snowflake cloud data platform 基于雪花事件的任务调度,而不是基于时间的任务调度,snowflake-cloud-data-platform,snowflake-task,snowflake-stream,Snowflake Cloud Data Platform,Snowflake Task,Snowflake Stream,我需要基于雪花事件的任务调度的示例,而不是基于时间的任务调度。 我在snowflake文档中找不到这些示例 提前感谢没有可以触发任务的事件源;相反,任务按照计划运行。 因此,目前无法创建基于事件的任务调度。可以触发任务的唯一事件源是任务树中先前任务的完成,请参阅使用“AFTER”参数 CREATE TASK mytask2 WAREHOUSE = mywh AFTER mytask1 AS INSERT INTO mytable2(id,name) SELECT id, name FR

我需要基于雪花事件的任务调度的示例,而不是基于时间的任务调度。 我在snowflake文档中找不到这些示例


提前感谢

没有可以触发任务的事件源;相反,任务按照计划运行。


因此,目前无法创建基于事件的任务调度。

可以触发任务的唯一事件源是任务树中先前任务的完成,请参阅使用“AFTER”参数

CREATE TASK mytask2
  WAREHOUSE = mywh
  AFTER mytask1
AS
INSERT INTO mytable2(id,name) SELECT id, name FROM mytable1;
此外,如果事件是对表中记录的插入或更改,则可以在表上创建一个流,并使用WHEN子句在流具有数据之前保持计划任务的运行

create stream mystream on table mytable
APPEND_ONLY = TRUE; // Set to true to only capture inserts

CREATE TASK mytask1
  WAREHOUSE = mywh
  SCHEDULE = '5 minute'
WHEN
  SYSTEM$STREAM_HAS_DATA('MYSTREAM')
AS
  INSERT INTO mytable1(id,name) SELECT id, name FROM mystream WHERE METADATA$ACTION = 'INSERT';