属性总览
您可以使用ConditionStep来构建条件节点,ConditionStep结构如下:
属性 |
描述 |
是否必填 |
数据类型 |
---|---|---|---|
name |
条件节点的名称,命名规范(只能包含英文字母、数字、下划线(_)、中划线(-),并且只能以英文字母开头,长度限制为64字符),一个Workflow里的两个step名称不能重复 |
是 |
str |
conditions |
条件列表,列表中的多个Condition执行'逻辑与'操作 |
是 |
Condition或者Condition的列表 |
if_then_steps |
条件表达式计算结果为True时,执行的step列表 |
否 |
str或者str列表 |
else_then_steps |
条件表达式计算结果为False时,执行的step列表 |
否 |
str或者str列表 |
title |
title信息,主要用于前端节点的名称展示 |
否 |
str |
description |
条件节点的描述信息 |
否 |
str |
depend_steps |
依赖的节点列表 |
否 |
Step或者Step的列表 |
属性 |
描述 |
是否必填 |
数据类型 |
---|---|---|---|
condition_type |
条件类型,支持"==", ">", ">=", "in", "<", "<=", "!=", "or"操作符 |
是 |
ConditionTypeEnum |
left |
条件表达式的左值 |
是 |
int,float,str,bool,Placeholder,Sequence,Condition,MetricInfo |
right |
条件表达式的右值 |
是 |
int,float,str,bool,Placeholder,Sequence,Condition,MetricInfo |
属性 |
描述 |
是否必填 |
数据类型 |
---|---|---|---|
input_data |
metric文件的存储对象,当前仅支持JobStep节点的输出 |
是 |
JobStep的输出 |
json_key |
需要获取的metric信息对应的key值 |
是 |
str |
结构内容详解:
- Condition对象(由三部分组成:条件类型,左值以及右值)
- 条件类型使用ConditionTypeEnum来获取,支持"==", ">", ">=", "in", "<", "<=", "!=", "or"操作符,具体映射关系如下表所示
枚举类型
操作符
ConditionTypeEnum.EQ
==
ConditionTypeEnum.GT
>
ConditionTypeEnum.GTE
>=
ConditionTypeEnum.IN
in
ConditionTypeEnum.LT
<
ConditionTypeEnum.LTE
<=
ConditionTypeEnum.NOT
!=
ConditionTypeEnum.OR
or
- 左右值支持的类型有:int、float、str、bool、Placeholder、Sequence、Condition、MetricInfo。
- 一个ConditionStep支持多个Condition对象,使用list表示,多个Condition之间进行&&操作。
- 条件类型使用ConditionTypeEnum来获取,支持"==", ">", ">=", "in", "<", "<=", "!=", "or"操作符,具体映射关系如下表所示
- if_then_steps 和 else_then_steps。
- if_then_steps表示的是当Condition比较的结果为true时允许执行的节点列表,存储的是节点名称;此时else_then_steps中的step跳过不执行。
- else_then_step表示的是当Condition比较的结果为false时允许执行的节点列表,存储的是节点名称;此时if_then_steps中的step跳过不执行。