定时触发工作流

本文介绍如何使用Serverless 工作流提供的定时调度功能,来定时执行工作流以调用函数计算FC(Function Compute)的函数。

执行流程

定时触发工作流的执行流程如下:

  1. Serverless 工作流定义调用函数计算的函数的任务步骤。

  2. Serverless 工作流创建定时调度,工作流被定时执行,然后任务步骤中的函数也会被定时执行。

8b0732b23943d746

操作步骤

  1. 登录Serverless 工作流控制台

  2. 在顶部菜单栏,选择地域。

  3. 在左侧导航栏,单击应用中心

  4. 应用中心页面,单击创建应用

  5. 创建应用页面的选择模板页签,选择Timer模板,然后单击配置并部署

    app_center_timer

  6. 配置并部署页签,配置相应参数,单击部署

    create_timer_app

    参数说明如下。

    参数

    说明

    应用名称

    您的应用名称,同一个账号下需保证唯一。

    说明

    您的应用是自定义的资源编排服务ROS资源,可登录至资源编排服务ROS控制台查看。

    Cron

    定时调度工作流的Cron表达式,详情请参见调度时间参数说明

    Input

    定时调度工作流的输入,必须为JSON格式,默认为空。详情请参见Input格式

    部署成功后可看到应用创建的所有资源。de339104fa7aaff8

    • RAM角色:函数调用权限AliyunFCInvocationAccessflowRole、工作流权限flowRole。

    • 函数计算资源:服务service、函数servicehello。

    • Serverless 工作流资源:工作流flow、定时调度ALIYUN::FNF::Schedule。

  7. 等待创建完成后,单击确定开始执行流程。

    image

  8. 跳转到流程页面,在弹出的对话框,自定义执行名称(可选)输入(可选),然后单击启动执行

    image

    • 流程名称:自定义填写流程的名称。长度在1~128字符之间,只能包含字母、数字、下划线(_)及短划线(-),且不能以短划线(-)开头。

    • 输入(可选):必须是JSON格式。

    您也可以通过任务步骤调用函数计算的函数hello的示例工作流定义如下。

    version: v1
    type: flow
    steps:
      # task step to invoke FC function hello
      - type: task
        name: hello
        resourceArn: acs:fc:::services/service-CD946B9A9F36/functions/hello                   

    您可以修改该工作流的定义实现自身的业务逻辑。详情请参见修改流程