WARNING

# 当前文档已迁移到新的文档站点 (opens new window),此内容不再维护!

# 触发器

⚠️注意事项

所有 CloudBase CLI 命令均在配置文件所在目录执行。

触发器是按照一定规则触发函数的模块的抽象,除了普通的调用触发函数之外,cloudbase 云函数还支持定时触发器。

如果云函数需要定时/定期执行,即定时触发,您可以使用云函数定时触发器。已配置定时触发器的云函数,会在相应时间点被自动触发,函数的返回结果不会返回给调用方。

定时触发器配置规则请参考此文档 (opens new window)

# 创建函数触发器

您可以使用下面的命令创建一个触发器:

# 创建 app 函数配置的触发器
cloudbase functions:trigger:create app

Cloudbase CLI 会自动读取 cloudbaserc.json 文件中指定函数配置的定时触发器,并创建云函数触发器。如果配置文件中没有包含触发器配置,则会创建失败。

一个函数可以包含多个触发器,一个触发器包含了以下 3 个主要信息:name, type, config

{
    // name: 触发器的名字,规则见下方说明
    name: 'myTrigger',
    // type: 触发器类型,目前仅支持 timer (即定时触发器)
    type: 'timer',
    // config: 触发器配置,在定时触发器下,config 格式为 cron 表达式
    config: '0 0 2 1 * * *'
}

当没有指定函数名时,Cloudbase CLI 会创建 cloudbaserc.json 文件包含的所有函数所有触发器

# 删除函数触发器

您可以使用下面的命令删除函数的触发器:

# 删除 app 函数的名为 trigger 的触发器
cloudbase functions:trigger:delete app trigger

同样,当没有指定函数名时,Cloudbase CLI 会删除 cloudbaserc.json 文件包含的所有函数所有触发器。当只指定了函数名时,Cloudbase CLI 会删除指定函数的所有触发器,当同时指定了函数名称和触发器名称时,Cloudbase CLI 只会删除指定的触发器。

# 删除 cloudbaserc.json 文件中所有函数的所有触发器
cloudbase functions:trigger:delete

# 删除函数 app 的所有触发器
cloudbase functions:trigger:delete app

# 删除函数 app 的触发器 trigger
cloudbase functions:trigger:delete app trigger