Switch


Switch 节点根据所配置的 case 值将集成流分散到不同节点,case 值由它们相应的标签来表示。

节点类型

Logic。

输入和输出能力

该节点具有 1 个入口点和多个出口点。输入和输出都是 JSON 格式。Switch 节点带有默认标签 “Others”;如果输入不满足任何具有特定标签的出口分支,集成流将会遵循该默认标签。有关标签的更多信息,请参阅“节点属性”部分。


由于该节点不会修改输入消息,因此其输出与输入相同。

注解

你需要使用 “Others” 标签配置一个出口点。

节点属性

../../_images/switch.png


名称

该节点的名称。


Case

Case 是你为节点分支集成流而指定的条件,每个 case 代表一个分支。使用表达式指定条件,然后为案例输入相应的标签。

  • 条件

    条件的值仅支持数字和字符串,例如 ${msg.key}>=7${metadata.topic}='yourTopic',其中数字支持 >、<、>=、<=、=、<> 和 != 运算符,而字符串支持 <> 和 = 运算符。

  • 标签

    在将连接器从 Switch 节点的出口点拖到下一个节点的入口点时,你需要选择表示集成流分支条件的标签,而且连接器将会带有标签名称。每个标签只能使用一次,即每个条件只能用于一个分支。


    Switch 节点带有默认标签 “Others”;如果输入不满足任何具有特定标签的出口分支,集成流将会遵循该默认标签。


若有多个 case,则在集成流运行时,将会按照从上到下的评估顺序。例如,如果输入消息满足多个 case 条件,则与该条件匹配的最上面的 case 将会是集成流所遵循的分支。


如果输入消息不满足任何条件,则集成流将遵循带有 “Others” 标签的分支。


描述

该节点的描述。

使用限制

  • 最大 case 数:100

示例

输入示例

{
    "externalId":"Inverter",
    "timestamp":24214324324,
    "measurepoints":{
        "speed":32,
        "heat":40
    }
}

输出示例

输出消息与输入消息相同。

{
    "externalId":"Inverter",
    "timestamp":24214324324,
    "measurepoints":{
        "speed":32,
        "heat":40
    }
}

相关节点