为了账号安全,请及时绑定邮箱和手机立即绑定

使用 Snowflake 中的任务调用存储过程

使用 Snowflake 中的任务调用存储过程

白衣非少年 2023-04-20 10:15:11
我写了一个任务,每个周末调用该过程。这是我将值插入表中的过程CREATE OR REPLACE TABLE TABLE1(DATABASE_ VARCHAR, TABLE_ VARCHAR); // Table to store valuesCREATE OR REPLACE PROCEDURE TASK_()   //Procedure to insert values into table    RETURNS string    LANGUAGE JAVASCRIPT    AS    $$        var str = '';        var stmt = snowflake.createStatement({sqlText: "INSERT INTO TABLE1 VALUES ('DB1','TB1')"});        stmt.execute();         return str;    $$;这是我每个周末调用上述过程的任务。CREATE TASK mytask_hour  WAREHOUSE = COMPUTE_WH  SCHEDULE = 'USING CRON 0 0 * 1-12 SUN America/Los_Angeles'  TIMESTAMP_INPUT_FORMAT = 'YYYY-MM-DD HH24'as  call TASK_();但是当我检查时,上面的任务没有运行并且值没有插入到表中。因此,我尝试调试我的任务并编写了一个每分钟调用上述过程的任务。create task mytask_hour  warehouse = COMPUTE_WH  schedule = '1 minute'as  call TASK_();甚至这个任务也没有奏效。不明白我哪里做错了
查看完整描述

2 回答

?
慕斯王

TA贡献1864条经验 获得超2个赞

创建任务是不够的。下一步是恢复它,因为默认情况下任务的状态为“暂停”。

在你的情况下,声明是

ALTER TASK mytask_hour resume;

结果:任务按您的计划运行。

最重要的是,你必须记住

  • 恢复/暂停任务需要对任务的 OWNERSHIP 或 OPERATE 权限

  • OWNERSHIP 角色具有 EXECUTE TASK 权限,可以由 ACCOUNT ADMIN 分配


查看完整回答
反对 回复 2023-04-20
?
白衣染霜花

TA贡献1796条经验 获得超10个赞

创建任务后,必须执行

ALTER TASK … RESUME


查看完整回答
反对 回复 2023-04-20
  • 2 回答
  • 0 关注
  • 209 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信