本文介绍如何通过工作流 ASW 编排云函数,疾速实现订单数据的解决。
工作原理工作流调用函数获取肯定时间段内的订单数据,对数据进行预处理。将预处理的数据交给 Map 迭代工作解决:每个订单进行数据处理后,别离写到不同的数据库表中,或者绘制成图表展现。
操作步骤创立工作流程须要首先创立一个状态机,通过编排状态机的不同元件,扭转状态机构造,从而实现用户自定义的性能汇合。
简略三步即可实现:创立云函数 → 创立工作流 → 运行状态机
Step 1:创立云函数创立 GetOrder 函数登录 云函数控制台,单击左侧导航栏的【函数服务】。在主界面上方函数服务区域抉择广州,并单击【新建】,进入函数创立流程。在新建函数页面,根本信息中填写以下信息:
函数名称:GetOrder。运行环境:Nodejs10.15。创立形式:抉择空白函数,单击【下一步】进入函数配置。在函数配置页面中的 Cloud Studio 窗格中,删除原有代码,复制如下所示的代码: 'use strict'; exports.main_handler = async (event, context) => { console.log("this is get order function"); # 您能够通过api申请获取实在的订单数据,样例中数据不便模仿工作流执行 var orderlist = [ { "orderId":"202012200001", "goodsId":"1004", "goodsName":"橘子#1004", "unit":"件", "specific":"5斤一箱", "linePrice":100, "salePrice":90, "costPrice":80, "number":30, "isVoucher":1, "voucherPrice":2, "voucherId":"3dr55678hj", "isDiscount":1, "discountPrice":3, "carriage": 8, "receiver":"susu", "phone":"18633567898", "address":"深圳市南山区腾讯大厦20楼", "createTime":"2020-12-20 10:00:00", "payTime":"2020-12-20 11:00:00", "payMethod":1, "payOrder":"202012201100003940", "orderStatus":3, "deliveryTime":"2020-12-21 11:00:00", "finishTime":"2020-12-25 11:00:00", "deliveryOrder":"ZT12345789d786", "isReturn":1, "returnId":"2020122600012", "returnNumber":2, }, { "orderId":"202012200001", "goodsId":"2001", "goodsName":"梨子#2001", "unit":"件", "specific":"6斤一箱", "linePrice":150, "salePrice":120, "costPrice":90, "number":20, "isVoucher":1, "voucherPrice":3, "voucherId":"3dr55678hj", "isDiscount":1, "discountPrice":5, "carriage": 0, "receiver":"susu", "phone":"18633567898", "address":"深圳市南山区腾讯大厦20楼", "createTime":"2020-12-20 10:00:00", "payTime":"2020-12-20 11:00:00", "payMethod":1, "payOrder":"202012201100003940", "orderStatus":3, "deliveryTime":"2020-12-21 11:00:00", "finishTime":"2020-12-25 11:00:00", "deliveryOrder":"ZT12345789d786", "isReturn":0, "returnId":"", "returnNumber":0, }, { "orderId":"202012200001", "goodsId":"3005", "goodsName":"香蕉#3005", "unit":"件", "specific":"10斤一箱", "linePrice":180, "salePrice":150, "costPrice":98, "number":6, "isVoucher":1, "voucherPrice":8, "voucherId":"3dr55678hj", "isDiscount":1, "discountPrice":20, "carriage": 0, "receiver":"susu", "phone":"18633567898", "address":"深圳市南山区腾讯大厦20楼", "createTime":"2020-12-20 10:00:00", "payTime":"2020-12-20 11:00:00", "payMethod":1, "payOrder":"202012201100003940", "orderStatus":3, "deliveryTime":"2020-12-21 11:00:00", "finishTime":"2020-12-25 11:00:00", "deliveryOrder":"ZT12345789d786", "isReturn":1, "returnId":"2020122600013", "returnNumber":3, } ]; return {"orderList":orderlist}; };单击【保留】,则胜利创立了云函数创立 ProcessOrder 函数参考【创立 GetOrder 函数】的形式,创立 ProcessOrder 函数,代码如下:
...