数据传递 数据流传递模型 云工作流的数据传递模型可如下图所示: 整体数据传递过程描述如下: 1、工作流传递的数据是按照JSON格式数据进行传递的。 2、工作流执行的输入数据作为工作流执行的第一个状态的输入数据。 3、工作流最后一个状态的执行输出作为工作流执行的输出数据。 4、每个状态执行完成后, 状态执行的输出数据作为下一个状态的输入数据, 如下图所示: 数据访问 云工作流提供了以JSONPath的方式访问在工作流执行过程中产生的数据。其语法格式为: javascript "{ $.ParentNode.childNodePath1.childNodePath2 }" 语法说明如下: 1、引用变量表达式需要是是字符串,因此需要双引号 2、字符串内容以{ 开头, 以}结尾, 代表是表达式, 云工作流引擎会按照表达式方式去解析字符串 3、如果要按照JSONPath访问访问引用变量数据, 则需要以符号$.开头 4、 云工作流是按照相对路径去解析引用变量的, 例如在工作流执行路径是state1>state2, 在state2中进行按照JSONPath方式去进行数据引用, 访问的数据源是state1产生的数据输出 以如下数据为例: plaintext { "testInt": 123, "testString": "1234", "testMap": { "k1": "v1", "k2": "v2" } } 如果要访问到k1这个节点的数据, 则可以按照如下方法引用到该数据变量, 得到的值即"v1" javascript "{ $.testMap.k1 }" 另外,为了方便在工作流执行输入过程中访问工作流执行输入, 提供的额外的全局方式去访问工作流执行输入, 语法如下: javascript "{ $Context.Input }" 如需要访问工作流执行输入数据的子层级, 即按照JSONPath访问json节点数据接口。例如工作流执行输入数据: plaintext { "key": "hello world" } 按照"{ $Context.Input.key }"去引用工作流执行输入数据, 得到的即"hello world"