You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Snowflake中创建每日UTC时间05:00执行的定时任务?

可行的Snowflake每日UTC 05:00定时任务配置方案

我之前配置Snowflake定时任务时也踩过时区格式的坑,特意整理了这个经过实际验证的方案,保证能让任务精准在UTC每日05:00执行。

核心配置代码

直接用以下SQL创建任务,记得替换成你自己的仓库名称和业务逻辑:

-- 创建定时任务(替换占位符为你的实际信息)
CREATE OR REPLACE TASK daily_utc_0500_task
WAREHOUSE = YOUR_WAREHOUSE_NAME  -- 替换为你的计算仓库名称
SCHEDULE = 'USING CRON 0 5 * * * UTC'  -- 关键:指定UTC时区的每日05:00调度
COMMENT = '每日UTC时间05:00执行的定时任务'
AS
-- 这里替换成你要执行的实际SQL逻辑,比如数据同步、报表生成等
INSERT INTO your_target_table (col1, col2)
SELECT col1, col2 FROM your_source_table WHERE load_date = CURRENT_DATE();

关键注意事项(避坑点)

  • 必须明确指定时区:Snowflake的CRON调度默认会用账户级时区,所以一定要在CRON表达式末尾加上UTC,否则会出现时区偏移导致任务执行时间不对的问题。0 5 * * * UTC的含义是:分钟0、小时5、每日/每月/每周任意时间,时区为UTC。
  • 任务默认是暂停状态:创建完成后任务不会自动启动,需要手动激活:
ALTER TASK daily_utc_0500_task RESUME;
  • 仓库权限验证:确保创建任务的角色拥有指定仓库的USAGE权限,否则任务执行时会抛出权限错误。

验证任务配置与执行情况

可以用以下SQL确认任务是否配置正确,以及查看历史执行记录:

-- 查看任务的详细配置信息
DESCRIBE TASK daily_utc_0500_task;

-- 查看最近7天的任务执行历史
SELECT task_name, scheduled_time, completed_time, state, error_code, error_message
FROM TABLE(INFORMATION_SCHEMA.TASK_HISTORY(
    TASK_NAME => 'DAILY_UTC_0500_TASK',
    SCHEDULED_TIME_RANGE_START => DATEADD('day', -7, CURRENT_TIMESTAMP())
))
ORDER BY scheduled_time DESC;

内容的提问来源于stack exchange,提问作者Prasad Sakarkar

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.28 22:12:36