本示例介绍了使用逻辑编排创建一个完整的工作流过程中的操作和通用的基本概念,比如添加触发器、添加操作、运行工作流等。在本示例中,我们通过一个实际案例,向您展示如何通过逻辑编排工作流自动化您的日常工作。

在本示例中,构建一个自动化工作流,每天定时检查某个域名(如 example111.com)是否可以注册,如果可以注册,则向您的一个钉钉群发送提醒。最终构建的工作流如下:

创建工作流

1. 进入逻辑编排控制台,进入左侧菜单我的工作流(如下图①),在控制台上方选择您要创建工作流的地域(如下图②),单击创建工作流(如下图③):

2. 在弹出的创建工作流对话框中,填入工作流名称后,单击确定按钮。

3. 在创建工作流对话框中,显示已经创建成功,单击确定进入下一步。

4. 此时进入了该工作流的图形化设计页面,接下来我们开始设计工作流。

选择触发器

在本示例中,我们希望是每天检查指定域名是否可以注册,所以我们需要添加一个重复周期的触发器。
注意 每个工作流都必须从触发器开始,该触发器在发生特定事件或者特定条件得到满足的情况下,触发工作流的运行。

1. 在图形化设计页面,单击计划调度

2. 在计划调度触发器选项卡里,单击重复周期

3. 我们计划在每天早上 9 点进行检查,在触发器的配置界面中,频率选择(如下图①),在这些小时多选框内,单击 0 后面的删除按钮(如下图②),再在下拉菜单中选择 9(如下图③)。

4. 在图形化设计的工具栏上,单击保存按钮,保存工作流。此时我们已经创建了一个含有重复周期触发器的工作流。但该工作流在每天早上 9 点被触发后,没有执行任何操作。因此,接下来我们需要添加检查域名是否可用等操作。

添加操作

接下来,我们需要通过调用阿里云的 OpenAPI,实现检查域名是否可以注册。本次使用的 API 为域名服务的免费 API:CheckDomain

1. 在重复周期操作的下方,单击新步骤按钮,然后在搜索框内输入域名(如下图①),单击下方出现的域名服务连接器(如下图②)。

2. 在搜索框内输入 checkdomain(如下图①),单击下方出现的 CheckDomain 操作(如下图②)。

3. 如果您是第一次使用逻辑编排服务,此时会出现一个授权按钮,因为逻辑编排工作流在运行过程中,需要扮演您的某个 RAM 角色,访问您的 API,所以需要授权逻辑编排一个正确的 RAM 角色才能保证工作流正常运行。单击授权按钮,弹出授权对话框。该对话框内显示了即将创建的 RAM 角色名称和角色描述,以及即将新增的授权策略。这里逻辑编排根据您需要添加的操作自动推荐了合适的系统权限,单击确定完成授权。

注意 1. 如果您当前是子账号身份访问逻辑编排,根据您的权限范围,授权方式有所不同,请参考通过RAM授权子账号编排工作流

2. 需要身份认证的各种连接器授权方式会有所不同,请参考具体连接器的使用方式。

4. 授权完成后,在 DomainName 这个参数中填入需要检查的域名。

5. 接下来我们需要判断该域名是否可以注册,我们需要添加一个条件判断的操作。方法和上述添加检查域名的操作类似。滚动到可视化编辑器的底部,在最下方单击新步骤按钮,选择控制流连接器,再选择 If(条件判断)操作。

6. 该连接器不需要身份验证。接下来我们完善条件判断里的逻辑。经过阅读 CheckDomain文档,该 API 返回结果中,Avail 可以用来判断域名是否可以注册。Avail 有多种取值,其中,1 表示可以注册,那我们这里的判断逻辑就是 Avail 等于 1。单击条件判断的左侧的输入框,此时输入框右侧会出现动态内容弹框,里面展示了当前步骤可以获取到的值。点击动态内容弹框内的 Avail(如下图①),则该值会自动填入到左侧输入框内。在右侧输入框内填入判断的值 1(如下图②)。

说明 这里我们判断的是 Avail 为 1 的情况下执行通知操作,如果您期望是可预订、可删除预定等情况下执行通知操作,则可以根据自己的需要修改判断逻辑。比如我们期望是在可注册、可预订、可删除预定的情况下都执行通知操作,则判断逻辑条件选择大于,后面的值填写 0。

7. 接下来我们需要在满足条件的情况下添加执行通知的操作。单击 If true 里面的新步骤按钮,再单击钉钉连接器,选择通过自定义机器人发送消息操作。这里需要填写您钉钉自定义机器人的 AccessToken,首先参照钉钉文档获取自定义机器人的 WebHook 地址,并取出该地址中 access_token 参数的值进行填写。消息内容可以根据自己的需要进行填写,同时可以选取右侧动态内容中的任意值,比如

注意 钉钉自定义机器人设置中需要选择一种安全方式,否则无法正常发送消息。您可以使用自定义关键词方式,根据在通过自定义机器人发送消息这个操作内填写的消息内容添加对应的关键字。比如,在本示例中,因为消息内容是“xxx 可以注册啦!”,所以关键词我们可以填写为“注册”,如下图所示。
8. 最终我们编排好的完整工作流如下图所示。保存工作流。接下来,我们测试一下工作流是否正常。

运行工作流

在本示例中,保存工作流后,该工作流就会在每天 9 点的时候自动运行。我们也可以通过在工作流编辑器工具栏中单击运行按钮,手动触发工作流的运行。接下来,我们通过手工触发的方式,验证一下我们的编排是否正确。

1. 在编辑器工具栏中单击运行按钮,开始运行工作流。

2. 工作流进入运行状态,没多久工作流运行完成,可以看到每个步骤右上角都有一个绿色的对号,表示运行成功。

3. 单击每一步均可以看到该步骤运行过程中的输入和输出,比如,单击域名服务_CheckDomain这个步骤,可以看到输出结果的 Avail 值为 1,表示该域名可以注册。

4. 接下来我们验证一下在域名可以注册的情况下是否收到消息,打开钉钉自定义机器人所在的钉钉群,可以看到我们收到了一条消息,消息体内的 DomainName 自动替换为了我们检查的域名。

至此,您已经完成了一个完整工作流的创建过程,如果您在使用过程中,有任何疑问,可以提交工单联系我们。