使用云函数定时触发功能

EMAS Serverless云函数支持定时触发云函数的功能,本文介绍如何使用云函数定时触发功能。

使用方法

  1. 登录EMAS管理控制台

  2. 查找您的项目,单击项目,进入EMAS概览页。

  3. 在顶部导航栏,选择平台服务

  4. 在左侧导航栏,选择EMAS Serverless > 云函数

  5. 选择任意一个云函数,单击函数名称,如test。打开云函数页面。

  6. 选择触发页签,单击定时任务触发右侧的编辑按钮。

  7. 编辑云函数页面,填写cron表达式,如下图所示。

    image

说明

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 表达式中设置的时间。