定时触发器能够依照您预设的确切时刻或周期性指令,自动启动函数的运行,这为您提供了一种灵活的方式来安排任务的执行,特别适合那些需要按计划重复执行任务的场景。
使用场景
定时触发器非常灵活,适用于各种时间相关的场景,例如:
- 周期性任务,例如每周五发送运维报表。
- 定时任务,例如设定在指定日期时间开启游戏活动。
前提条件
操作步骤
- 登录函数计算控制台,点击目标函数,进入函数详情。
- 选择详情下顶部的配置选项卡。
- 在配置选项卡中,选择左边的触发器选项卡。
- 点击创建触发器,在弹出的右抽屉中选择定时触发器,配置参数解释如下表。
参数 | 操作 | 示例 |
---|---|---|
触发器类型 | 选择定时触发器。 | 定时触发器 |
名称 | 填写自定义的触发器名称。 | xxx |
版本或别名 | 默认值为LATEST,支持选择任意函数版本或函数别名。 | LATEST |
触发方式 | 根据需要选择触发方式: 时间间隔:触发器每隔n分钟触发一次函数执行。 指定时间:选择时区,并指定日期、星期和时间,触发器在某时区的指定时间触发一次函数执行。 自定义:支持秒级配置,使用6段式Cron表达式,兼容Quartz的表达式。 |
*/5 * * * * * |
触发消息 | 支持发送自定义消息。该消息内容将会作为触发函数的Event结构体的data字段。 | hello, trigger |
触发消息
定时触发器会按照用户设定的时间通过POST请求触发用户函数,其body为如下结构体:
{
"time": "2024-12-05T02:24:09Z",
"name": "trigger-name",
"data": "hello,trigger"
}
注意事项
- 定时触发器支持指定时区,如果cron表达式未指定,则按UTC时间执行。例如,希望在北京时间早上9点触发,可以有以下两种设置方式:
- 使用UTC时间运行:0 0 1 * * *
- 使用北京时间运行:CRON_TZ=Asia/Shanghai 0 0 9 * * *