EMAS Serverless云函数支持定时触发云函数的功能,本文介绍如何使用云函数定时触发功能。
使用方法
登录EMAS管理控制台。
查找您的项目,单击项目,进入EMAS概览页。
在顶部导航栏,选择平台服务。
在左侧导航栏,选择EMAS Serverless > 云函数。
选择任意一个云函数,单击函数名称,如test。打开云函数页面。
选择触发页签,单击定时任务触发右侧的编辑按钮。
在编辑云函数页面,填写cron表达式,如下图所示。
TimingTriggerConfig参数的值为一个cron表达式,例如0 0 * * * *
表示每个整点触发。
配置规则说明
配置规则仅支持设置cron表达式。
cron表达式使用限制:
cron表达式中间不能包含多余的空格。
当前限制云函数定时触发的频率为每分钟最多触发一次,要求cron表达式中的秒仅支持配置固定的数字,不支持特殊字符。
cron表达式不支持配置年。
说明在cron表达式中不支持同时指定日和星期,两个字段中至少有一个为 * 或者 ?。
cron表达式语法说明:
cron表达式有六个必选字段,以空格分隔。其中,每个字段都有相应的取值范围。
位置
字段
取值
特殊字符
1
秒
0~59
不支持
2
分
0~59
逗号(,)、连接号(-)、星号(*)、正斜线(/)
3
时
0~23
逗号(,)、连接号(-)、星号(*)、正斜线(/)
4
日
1~31(根据具体每月天数而定)
逗号(,)、连接号(-)、星号(*)、正斜线(/)
5
月
可填数字1~12或月份对应英文单词前三个字母的大写形式:{JAN|FEB|MAR|APR|MAY|JUN|JUL|AUG|SEP|OCT|NOV|DEC}。
逗号(,)、连接号(-)、星号(*)、正斜线(/)
6
星期
可填数字0~7或星期对应英文单词的前三个字母的大写形式:{MON|TUE|WED|THU|FRI|SAT|SUN},其中数字0和7都表示周日。
逗号(,)、连接号(-)、星号(*)、正斜线(/)
特殊字符说明:
特殊字符
含义
逗号(,)
表示列出枚举值。例如:在时字段中
2,3,4
表示2点、3点和4点。连接号(-)
表示指定范围的所有值。例如:在日字段中,
1-5
包含指定月份的1号到5号。星号(*)
表示所有值。例如:在时字段中,
*
表示每个小时。问号(?)
表示不指定。可以日或者星期字段中使用。
正斜线(/)
表示起始时间开始触发,然后每隔固定时间触发一次。
例如:在分字段中,输入
1/10
以指定从第一分钟开始的每隔十分钟触发一次,第11分钟、第21分钟和第31分钟,以此类推。
云函数入参说明
在云函数中,通过ctx.args
来获取执行参数。以下示例展示了定时触发时获取的参数:
{
"userPayload": "This is task paramters",
"triggerTime": "2023-03-01T07:27:30Z",
"triggerName": "TIMER_LATEST"
}
其中:
triggerName 是触发器的名称,定时触发器固定为TIMER_LATEST。
triggerTime 是触发执行的时间,实际可能会略晚于 cron 表达式中设置的时间。