配置源节点

创建数据解析任务后,您可在数据解析工作台,配置数据解析任务的源节点,以作为后续数据解析的数据源。本文介绍配置源节点的操作步骤。

前提条件

已创建数据解析任务,具体操作,请参见创建数据解析任务

背景信息

操作步骤

  1. 进入数据解析工作台

  2. 在数据解析工作台,单击画布中默认存在的源节点

  3. 在右侧配置面板,根据要处理数据的数据源类型,配置基本信息

    • IoT实例Topic:选择该类型后,配置以下参数,以处理设备通过自定义或物模型通信Topic上报的数据。

      参数名称

      描述

      相关文档

      所属实例

      下拉列表展示该阿里云账号下所有实例。

      实例概述

      所属产品

      下拉列表展示所选实例下所有产品名称。

      创建产品

      所属设备

      所选产品下设备,仅支持选择全部设备

      创建设备

      Topic类型

      可选:系统Topic自定义Topic、物模型通信Topic

      详细说明,请参见下文“Topic类型说明表”。

      什么是Topic

      Topic名称

      该Topic的通信数据是解析任务的数据源。

      • 云网关产品的自定义Topic:在Topic名称列表中,手动输入Topic名称。例如/${productKey}/${deviceName}/user/update

      • 其他情况:从Topic名称列表选择待分析的Topic。

      Topic类

      Topic类型说明表:

      设备

      系统Topic

      自定义Topic

      物模型Topic

      云网关设备:MQTT

      不支持。

      支持。

      具体说明,请参见添加自定义Topic类

      支持属性事件类型。

      具体说明,请参见设备上报属性和设备上报事件

      云网关设备:NB-IoT

      云网关设备:JT/T 808

      支持设备上报数据Topic:$JT808/${manufacturer}/${deviceModel}/${deviceId}/up

      具体说明,请参见设备上报数据

      不支持。

      云网关设备:GB/T 32960

      支持设备上报数据Topic:$GB23960/${VIN}/up

      具体说明,请参见设备上报数据

      非云网关设备

      支持设备影子发布Topic:/shadow/update/${YourProductKey}/${YourDeviceName}

      具体说明,请参见设备影子

      支持。

      具体说明,请参见添加自定义Topic类

    • API数据源:选择该类型后,您需选择具体的API数据源,以处理通过API数据源导入的外部数据。

      更多信息,请参见配置API数据源

  4. 单击下一步,选择Topic格式,配置格式解析。

    JSON、ProtoBuf、Base64(to_JSON)

    1. 根据选择的Topic格式,配置样例数据。

      说明

      如果Topic在7天内上报过数据,单击拉取线上数据,会自动配置样例数据。

      Topic格式

      配置样例

      JSON

      样例数据框中,直接配置样例数据。样例数据的内容大小不能超过16 KB。

      ProtoBuf

      1. 单击上传.desc文件,上传.desc文件,用于解析ProtoBuf格式数据。

        生成.desc文件方法,请参见附录:生成.desc文件

      2. 选择消息类型后,单击上传二进制数据文件,配置样例数据。

      Base64(to_JSON)

      单击上传Base64数据文件,配置样例数据。

    2. 配置样例数据后,单击校验解析

      • 若解析成功,可在解析预览中查看数据。

      • 若解析失败,则根据提示,修正样例数据后,重新校验。

    3. 选择是否透传

      • 否(默认)。

      • 是:选中后,只支持将解析后的数据通过Topic流转,不再支持自定义数据存储和SQL离线分析。

    4. 单击保存

      您可在画布下方数据结构中查看解析字段的结构列表,包括字段名称和数据类型。

      说明

      如果是否透传,在画布中源节点后会自动删除已添加的其他节点,自动添加并连接目标节点。此时,源节点目标节点之间不可再添加其他节点。

    原始数据

    1. 选择是否透传

      • 否(默认)。

      • 是:选中后,只支持将解析后的数据通过Topic流转,不再支持自定义数据存储和SQL离线分析。

    2. 单击保存

      在画布中的源节点后会自动添加并连接自定义节点。

      源节点自定义节点之间不可再添加其他节点。源节点后已添加并连接的其他节点,会自动连接到自定义节点后。

      说明

      如果是否透传,在画布中源节点后会自动删除已添加的其他节点,自定义节点后会自动添加并连接目标节点。此时,自定义节点与目标节点之间不可再添加其他节点。

    3. 配置自定义节点的脚本,解析原始数据。

      1. 在画布中单击自定义节点。

      2. 在自定义脚本面板,选择脚本语言,然后在编辑脚本下的输入框中输入脚本。

        支持的脚本语言

        需定义的函数

        示例代码

        JavaScript(ECMAScript 5)

        executeScript()

        JavaScript脚本示例

        Python 2.7

        execute_script()

        Python脚本示例

        PHP 7.2

        executeScript()

        PHP脚本示例

      3. 模拟输入页签,输入模拟的设备上报数据。

      4. 单击执行

        执行成功后,在运行结果页签显示解析后的数据。您可单击运行日志页签,查看脚本执行日志。

  5. 单击数据解析工作台右上角的保存,完成配置源节点。

后续步骤

源节点配置完成后,您可以继续配置其他处理节点解析数据,或配置目标节点完成整个解析任务配置。

附录:生成.desc文件

重要
  • 若设备上传ProtoBuf格式的数据,在配置该格式的样例数据前,需先上传用于解析的.desc文件。

  • 使用本功能前,您需了解Protocol Buffers的基础知识。

  1. 下载并安装Protocol Buffers

  2. 使用以下命令,生成.desc文件。

    protoc -I=/filepath1/ --descriptor_set_out=/filepath2/proto.desc /filepath3/proto.proto

    命令中的参数说明如下:

    参数

    说明

    -I

    --proto_path的缩写形式。编译.proto文件时,指定寻找定义的import文件依赖的路径。

    您需将其值/filepath1/,改为该依赖所在的路径。如果无需依赖,则更改为本地任意路径。

    --descriptor_set_out

    指定要生成的.desc文件的输出路径。

    您需将其值/filepath2/proto.desc,改为含文件名的输出路径。

    /filepath3/proto.proto

    指定源.proto文件的名称和路径。如需将多个文件生成.desc文件,可输入多个含源文件名的路径,以半角逗号(,)隔开。

    您需将该值改为含该源proto文件名的路径。