节点概述¶
设备集成流由多个头尾连接的节点组成,每个节点会处理输入消息并将输出消息(包含 msg 和 metadata 的已处理或未处理输入消息)中继到下游节点或其他 EnOS 服务。
你可以使用 EnOS 管理控制台 中的 流设计器 将节点拖放到画布中,根据需要形成集成流。
节点类型¶
流设计器中的节点分为以下几个类型。
Subflow
Subflow 节点是一个可以添加到其他集成流的集成流。
Input
你可以使用 Input 节点建立与服务器的连接、获取从 IoT Hub 发布的指令、设置既定间隔等,以触发集成流程。
Logic
你可以无需进行任何编程,用 Logic 节点设置规则和条件处理集成流,并将流分成不同的路径以进行后续处理。
Action
Action 节点使用其输入消息来发起操作,例如对服务器进行查询、上传或下载文件、或压缩/解压缩文件等。
你可以选择在执行节点之前将 msg 中的部分或全部内容保存到 metadata 中,以防止内容被覆盖。 为此,在 元数据 标签中输入 Key, Type, and Value 的值。Key 和 Value 都可以使用 ${msg.xxx} 的表达式。更多详情,参见 表达式。
除此之外,Action 节点处理结果的返回值将自动保存到 metadata 中,以供后续处理,例如使用 Switch 节点分别判断处理。
IoT Hub
你可以使用 IoT Hub 节点与 IoT Hub 交互,例如获取和处理数据以及将数据上传到 IoT Hub。
External
External 节点可连接到外部云平台或资源并从中获取数据。
Enterprise
Enterprise 节点可连接到企业数据库或 IoT 系统等,从中获取数据。
System
System 节点可管理集成流程中的各种任务对象。
Custom
Custom 节点是用户根据业务需求和使用场景设计和创建的节点。
表达式 ¶
消息分为两个部分,分别是 msg 和 metadata。msg 是消息的有效负载,而 metadata 则包含 JSON 格式的属性信息;例如,这些属性信息可通过输入消息和输出消息从一个节点传递到另一个节点。你可以使用表达式从节点的输入 msg 或 metadata(若为标准 JSON 对象)中检索特定信息,以便进行节点处理。
例如,表达式 ${msg.key} 可以快速检索键值对,其中 key 是 JSON 格式的键值对中的键。在下文所示示例中,节点会接收以下 JSON 对象作为其输入消息:
{
"assetId":"Inverter",
"timestamp":24214324324,
"measurepoints":{
"temperature":22.4,
"humidity":78
}
}
使用以下表达式将分别返回这些值。
表达式
返回值
${msg.assetId}
Inverter
${msg.measurepoints.humidity}
78
同样,如果节点支持使用表达式引用其 JSON 元数据中的值,则可以使用 ${metadata.key} 返回所需的值,其中 key 是元数据中键值对的键。例如,对于 Task Manager 节点,每个任务对象都有一个唯一的任务 ID,该 ID 存储在 metadata 中,而且可通过表达式 ${metadata.taskId}
引用。
备注
表达式只能用于 JSON 对象,不能用于 JSON 数组。若要使用表达式,必须将任何非 JSON 输入转换为 JSON 对象。你可以使用 Script 节点转换输入。
节点列表 ¶
Subflow¶
节点 |
云端集成流 |
站端集成流 |
---|---|---|
√ |
× |
Input¶
节点 |
云端集成流 |
站端集成流 |
---|---|---|
√ |
× |
|
√ |
√ |
|
√ |
× |
|
√ |
× |
|
√ |
× |
|
√ |
√ |
|
√ |
× |
|
√ |
× |
Logic¶
节点 |
云端集成流 |
站端集成流 |
---|---|---|
√ |
√ |
|
√ |
√ |
|
√ |
√ |
|
√ |
√ |
|
√ |
√ |
|
√ |
√ |
|
√ |
√ |
|
√ |
√ |
Action¶
节点 |
云端集成流 |
站端集成流 |
---|---|---|
√ |
√ |
|
√ |
√ |
|
√ |
× |
|
√ |
× |
|
√ |
× |
|
√ |
√ |
|
√ |
× |
|
√ |
× |
|
√ |
√ |
IoT Hub¶
节点 |
云端集成流 |
站端集成流 |
---|---|---|
√ |
× |
|
√ |
× |
|
√ |
× |
|
√ |
× |
|
√ |
× |
|
√ |
× |
|
√ |
× |
|
√ |
× |
|
√ |
× |
|
√ |
× |
|
√ |
× |
|
√ |
× |
|
√ |
× |
External¶
节点 |
云端集成流 |
站端集成流 |
---|---|---|
√ |
√ |
|
√ |
× |
|
√ |
√ |
|
√ |
× |
|
√ |
× |
|
√ |
× |
|
√ |
√ |
|
√ |
√ |
|
√ |
√ |
|
√ |
× |
|
√ |
× |
|
√ |
× |
Enterprise¶
节点 |
云端集成流 |
站端集成流 |
---|---|---|
√ |
√ |
|
√ |
× |
System¶
节点 |
云端集成流 |
站端集成流 |
---|---|---|
√ |
× |
|
√ |
× |
|
× |
√ |
|
× |
√ |
Custom¶
节点 |
云端集成流 |
站端集成流 |
---|---|---|
√ |
√ |