节点概述


EnOS 设备数据集成服务中的集成流由多个头尾连接的节点组成,每个节点会处理输入消息并将输出消息(包含 msgmetadata 的已处理或未处理输入消息)传递到下游节点或其他 EnOS 服务。


除了 Input 类型节点和 Command 节点,其他节点都包含基本的数据入口和数据出口,你可以使用 EnOS 管理控制台中的 设备数据集成 > 流设计器 将节点拖放到画布中,通过连线将这些节点的入口和出口相互串联,组成完整的流。

节点类型


流设计器中的节点分为以下几个类型。

  • Subflow

    Subflow 节点是一个以节点形式添加到其他集成流的集成流。


  • Input

    你可以使用 Input 节点建立与服务器的连接、获取从 EnOS DCM 发布的指令或设置既定间隔等,以触发集成流。


  • Logic

    你可以无需进行任何编程,用 Logic 节点设置规则和条件处理集成流,并将流分成不同的路径以进行后续处理。


  • Action

    Action 节点使用其输入消息来发起操作,例如对服务器进行查询、上传或下载文件、或压缩/解压缩文件等。


    你可以选择在执行节点之前将 msg 中的部分或全部内容保存到 metadata 中,以防止内容被覆盖。 为此,在 元数据 标签中输入 类型 的值。 的内容不区分大小写, 中填入的内容需要区分大小写。 都可以使用 ${msg.xxx} 的表达式引用上游输入的内容。更多信息,参见 表达式


    除此之外,Action 节点处理结果的返回值将自动保存到 metadata 中,以供后续处理,例如使用 Switch 节点分别判断处理。


  • EnOS

    你可以使用 EnOS 节点与 EnOS DCM 交互,例如获取和处理数据以及将数据上传到 EnOS DCM。


  • External

    External 节点可连接到外部云平台或资源并从中获取数据。


  • Enterprise

    Enterprise 节点可连接到企业数据库或 IoT 系统等,从中获取数据。


  • System

    System 节点可管理集成流程中的各种任务对象。


  • Custom

    Custom 节点是用户根据业务需求和使用场景设计和创建的节点。

表达式


节点日志分为 msgmetadata 两部分。msg 是消息的有效负载,而 metadata 则包含 JSON 格式的属性信息;例如,这些属性信息可通过输入消息和输出消息从一个节点传递到另一个节点。msg 的内容展示在日志的 Body 中,metadata 的内容展示在日志的 metadata 中。你可以使用表达式从节点的输入 msgmetadata(若为标准 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


节点

云端集成流

站端集成流

Subflow

×

Input


节点

云端集成流

站端集成流

AMQP Sub

×

HTTP Server

Inject

×

Kafka Sub

×

MQTT Server(待下线)

×

Timer

MQTT Sub

×

SFTP File

×

Logic


节点

云端集成流

站端集成流

Multicast

Split

Split End

Switch

Loop

Loop End

Combine

Comment

Catch

Action


节点

云端集成流

站端集成流

CSV

Compress

Read Context

×

Refresh Token

×

XML

×

Script

File

×

Store Context

×

HTTP Response

Open API

×

EnOS


节点

云端集成流

站端集成流

Lookup Asset

×

Command

×

Lookup Mapping

×

Lookup Model

×

OTA

×

Lookup Product

×

Report OTA

×

Respond Command

×

Template

×

Update Attribute

×

Update Device Status

×

Upload Asset File

×

Upload Measurement Point

×

External


节点

云端集成流

站端集成流

AMQP Pub

Azure Blob

×

MQTT Pub

Azure Event Hub

×

Email

×

AWS S3

×

HTTP Client

Kafka Pub

SFTP Client

SMS

×

Twilio SMS

×

Azure IoT Hub

×

Enterprise


节点

云端集成流

站端集成流

YBSoftware eDOS

Database

×

Systemy


节点

云端集成流

站端集成流

Advanced Task Manager

×

Task Manager

×

Checkpoint

×

Remote Task

×

Custom


节点

云端集成流

站端集成流

Custom Nodes