购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

3.2 创建第二个流程

本节以第一个流程为基础,创建第二个流程,开始从外部源(中国地震台网)引入数据,以在本地做一些有用的事情。

3.2.1 功能简述

● 定期从中国地震台网检索信息。

● 将检索信息转换成有用的形式。

● 在Debug节点右侧边栏调试窗口显示结果。

3.2.2 添加inject节点

将inject节点从节点面板拖到工作区,拖入后界面如图3-10所示。

在上一节中,inject节点用于手动触发流程。在本节中,inject节点将配置为定期自动触发流程。双击节点打开编辑对话框,将“重复”属性设置为周期性执行(每隔5分钟)(如图3-11所示),设置完成以后单击“完成”按钮关闭对话框。

图3-10 拖入inject节点后的界面

图3-11 设置周期性执行的inject节点

3.2.3 添加http request节点

将http request节点从节点面板拖入工作区。如图3-12所示,双击该节点,将它的URL属性设置为http://www.ceic.ac.cn/ajax/speedsearch,将节点名称修改为“请求地震台网数据”,然后单击“完成”按钮关闭对话框。

图3-12 http request节点的设置界面

添加完http request节点后的流程界面如图3-13所示。

图3-13 添加完http request节点后的流程界面

3.2.4 添加debug节点

将debug节点从节点面板拖入工作区,然后连接inject节点的输出到“请求地震台网数据”节点的输入,连接“请求地震台网数据”的输出到debug节点的输入,如图3-14所示。

图3-14 添加debug节点后的流程界面

添加debug节点的目的是了解网站返回的数据。现在单击inject节点头部的注入按钮,流程执行后打印出的结果如图3-15所示。

图3-15 流程执行后打印出的结果

注意,从调试窗口的打印结果可以看出,网站返回的是一个JSON字符串。注意,这里仅需要小括号内的内容。

3.2.5 添加function节点

添加function节点并双击以编辑其属性,在“函数”面板中输入以下代码:

如图3-16所示,修改节点名称为“格式化数据”,然后单击“完成”按钮关闭。连接“请求地震台网数据”的输出到“格式化数据”的输入。从debug节点输出的数据分析可知,现在“格式化数据”输出的是payload中的shuju属性。

图3-16 添加function节点后的流程界面

3.2.6 添加split节点

添加split节点并双击以编辑其属性。根据默认配置,split节点会自动将数组中的每个元素拆分为消息。所以,这里不需要配置split节点的动作,只修改split节点名称为“拆分数据”,然后将流程连接起来。添加split节点后的流程界面如图3-17所示。

图3-17 添加split节点后的流程界面

3.2.7 添加switch节点

添加switch节点并双击以编辑其属性,修改节点名称为“过滤大于7级的地震”,“属性”设置为msg.payload.M,这是因为根据网站返回的数据结构,msg.payload.M里存放的是地震震级数据,条件设置为“>=number 7”,只滤出震级大于等于7的地震消息。具体配置界面如图3-18所示。

图3-18 添加switch节点配置界面

单击“完成”按钮关闭,添加switch节点后的流程界面如图3-19所示。

图3-19 添加switch节点后的流程界面

3.2.8 添加另一个function节点

添加function节点并双击以编辑其属性,修改节点名称为“组装显示数据”,在“函数”面板输入以下代码:

这里是只显示每条消息中的震级、发生地点、发生时间,其余消息就不显示了。连接“过滤大于7级的地震”的输出到“组装显示数据”的输入。

3.2.9 完整的流程

至此,所有的节点已经建立完成,整个流程全貌如图3-20所示。

图3-20 创建的第二个流程全貌示例

3.2.10 部署

单击“部署”按钮将流程部署到服务器。单击 按钮打开右侧边栏调试窗口,单击inject节点头部的“注入”按钮,可以在调试窗口看到图3-21所示消息。

此流程每5分钟自动触发一次,并从URL的返回中解析数据并显示在调试窗口。它还会检查数据中的量级值,并为任何量级大于等于7的消息分支流。此类消息的有效负载会被显示在调试窗口中。 3Cbfe2FeahoFz5gZl5fV+my74V0etmHmIg1o5wYCmfVwGEtHEKQKOXvYLCh6POvc

点击中间区域
呼出菜单
上一章
目录
下一章
×