APPCUBE-如何配置数据接入:操作步骤

时间:2023-11-01 16:19:13

操作步骤

在开发环境修改数据接入的任意配置数据(包括所有图元的配置信息),在打包时,可配置是否覆盖新环境中的同名数据接入配置。具体配置可参考应用打包发布

  1. 鼠标放在App下的Logic文件夹旁会出现加号,单击加号,选择“数据接入”。
  2. 单击“新建”,进入“数据接入”创建页面。
  3. 从页面右侧“图元”的输入源中拖拽OneNET图标至左侧画布区域,并配置外部数据源基本信息,单击“保存”。

    Source中不同的图标表示不同的第三方数据源,支持以下几种数据源。
    • OneNET
      图1 OneNET配置信息页面
      图2 OneNET元数据定义页面
      表1 数据来源OneNET基本信息页面参数说明

      参数名称

      参数说明

      标签

      该数据源OneNET的显示标签名。长度不超过64个字节。

      名称

      该数据源OneNET的名称,单击参数值后系统可根据“标签”取值自动生成。

      协议

      通信协议。

      Token

      数据签名,即令牌,由OneNET提供。

      报文加密

      对传输过来的报文内容是否进行加密,勾选表示加密。如果设置为加密的,则需配置“Aeskey”

      Aeskey

      解密密钥,由OneNET提供。

      元数据

      源数据的元数据定义。如果为空的{},您只能传送原始数据,无法使用拦截器对数据进行处理。

      定义好的元数据将会显示在右侧区域中。

      单击“格式化Json”,可对元数据进行Json格式化处理。

      元数据定义示例如下:

      {    "notifyType": "STRING",    "requestId": "STRING",    "timestamp": "STRING",    "eventTime": "datetime",    "deviceId": "STRING",    "gatewayId": "STRING",    "deviceService": {        "name": "STRING"    },    "service": {        "serviceType": "STRING",        "serviceId": "STRING",        "body": "OBJECT",        "data": {            "battery_low": "number",            "light": "STRING"        }    }}

      数据接入对接中移物联OneNET平台的认证,是按照中移物联给出的对接标准,需根据配置的Token(令牌)、报文中的随机数、报文内容拼接后获取MD5摘要,并和报文中的摘要做比对,如果一致则认为报文是正常的报文。目前中移物联只支持MD5算法获取数据摘要。参见OneNET平台开发文档

      同时,对于报文内容来说,OneNET平台支持对报文内容进行加密后上报。AppCube要使用跟OneNET平台一致的加密算法进行解密,获取的加密向量要跟OneNET平台一致。因此,使用了Aeskey(解密密钥)的前16位作为加密向量。

    • 设备接入 IoTDA(该产品之前名为“Ocean Connect”)
      图3 设备接入 IoTDA配置信息页面
      表2 数据来源设备接入 IoTDA基本信息页面参数说明

      参数名称

      参数说明

      标签

      该数据源设备接入 IoTDA的显示标签名。长度不超过64个字节。

      名称

      该数据源设备接入 IoTDA的名称,单击参数值后系统可根据“标签”取值自动生成。

      数据格式

      设备上报数据的格式。

      数据传输的协议支持http或者https,由IoTDA决定。

      Access Key

      单击“生成AK/SK”,该值会自动生成。请将生成的Access Key保存到本地,开发人员通过该值在设备侧生成鉴权属性“authorization”。

      Secret Key

      单击“生成AK/SK”,该值会自动生成。请将生成的Secret Key保存到本地,开发人员通过该值在设备侧生成鉴权属性“authorization”。

      元数据

      源数据的元数据定义。如果为空的{},您只能传送原始数据,无法使用拦截器对数据进行处理。

      定义好的元数据将会显示在右侧区域中。

      单击“格式化Json”,可对元数据进行Json格式化处理。

      元数据定义示例如下:

      {    "notifyType": "STRING",    "requestId": "STRING",    "timestamp": "STRING",    "eventTime": "datetime",    "deviceId": "STRING",    "gatewayId": "STRING",    "deviceService": {        "name": "STRING"    },    "service": {        "serviceType": "STRING",        "serviceId": "STRING",        "body": "OBJECT",        "data": {            "battery_low": "number",            "light": "STRING"        }    }}

      上报的合法数据示例如下:

      {    "notifyType": "deviceDataChanged",    "requestId": "45678",    "timestamp":"1900012929922992",    "eventTime":"20151212T121212Z",    "deviceId":"8b3979fc-b072-433b-b3f6-673072e1bc04",    "gatewayId":"XXX",    "deviceService":{"name":"buttery"},    "service": {     "serviceType": "",     "serviceId": "",     "data":{                     "battery_low":444,                     "light":"99",                     "authorization":"Bingo bDTKFSGi:ZwGnN+bb*****************************TjFRMA="            }    }}

      其中“authorization”值根据AK/SK、上报URL和Body数据生成。

    • π平台
      图4 π平台配置信息页面
      表3 数据来源π平台基本信息页面参数说明

      参数名称

      参数说明

      标签

      该数据源的显示标签名。长度不超过64个字节。

      名称

      该数据源的名称,单击参数值后系统可根据“标签”取值自动生成。

      字段

      请填写输入源的数据字段,不同的字段以逗号进行分隔,例如“id,name,age”。

      协议

      数据传输的协议。

      Access Key

      单击“生成AK/SK”,该值会自动生成。请将生成的Access Key保存到本地,并将该值填写到对应的 物联网平台 中。

      Secret Key

      单击“生成AK/SK”,该值会自动生成。请将生成的Secret Key保存到本地,并将该值填写到对应的物联网平台中。

    • ROMA Connect
      图5 ROMA Connect配置信息页面
      表4 数据来源ROMA Connect基本信息页面参数说明

      参数名称

      参数说明

      标签

      该数据源的显示标签名。长度不超过64个字节。

      名称

      该数据源的名称,单击参数值后系统可根据“标签”取值自动生成。

      APP ID

      MQS平台应用ID。应用ID能够引用一个本平台定义的系统参数,引用位置不限制。示例:{!roma_app_prefix}other_roma_app_id。

      密钥

      MQS平台应用请求密钥。

      主题

      MQS主题。主题能够引用一个本平台定义的系统参数,引用位置不限制。示例:{!roma_topic_prefix}other_roma_topic。

      标签

      设置订阅消息的标签,可以指定消费某一类型的消息。默认*表示消费所有类型的消息,可以写多个,用“||”隔开,例如“tag1 || tag2 || tag3”。

      通道加密

      数据是否加密。若勾选,表示MQS数据传输采用TLS协议。

      消费位置

      若勾选,停止数据接入任务,后续重新运行数据接入时,停止和重新运行期间ROMA Connect发来的消息会被完全丢弃。若停止与运行数据接入之间时间间隔在十分钟之内,消息可能不会丢失。

      注意:存在数据丢失风险,请谨慎勾选。

      默认不勾选。

      元数据

      源数据的元数据定义。如果为空的{},您只能传送原始数据,无法使用拦截器对数据进行处理。

      定义好的元数据将会显示在右侧区域中。

      单击“格式化Json”,可对元数据进行Json格式化处理。

      元数据定义示例如下:

      {    "notifyType": "STRING",    "requestId": "STRING",    "timestamp": "STRING",    "eventTime": "datetime",    "deviceId": "STRING",    "gatewayId": "STRING",    "deviceService": {        "name": "STRING"    },    "service": {        "serviceType": "STRING",        "serviceId": "STRING",        "body": "OBJECT",        "data": {            "battery_low": "number",            "light": "STRING"        }    }}
    • Kafka
      图6 添加Kafka
      表5 数据来源Kafka基本信息页面参数说明

      参数名称

      参数说明

      标签

      该数据源Kafka的显示标签名。长度不超过64个字节。

      名称

      该数据源Kafka的名称,单击参数值后系统可根据“标签”取值自动生成。

      连接外部Kafka

      AppCube支持从平台内部Kafka或者外部Kafka采集数据,从内部Kafka采集的数据不能再输出到内部Kafka中。勾选该项,表示从外部Kafka采集数据,则需要配置“Kafka集群地址”“订阅主题”;默认不勾选,表示从平台内部Kafka采集数据。

      Kafka集群地址

      当勾选“连接外部Kafka”时,该参数才会出现。表示Kafka集群地址,多个节点服务器地址可用“,”间隔,格式为“Kafka节点1ip:节点1端口号,Kafka节点2ip:节点2端口号,...”。

      获取Kafka的IP和端口号方法:可以通过登录每台Kafka节点服务器,查看“${KAFKA_HOME}/config”目录下“server.properties”中“listeners”取值获取。

      例如:10.10.10.1:9091,10.10.10.2:9092

      订阅主题

      当勾选“连接外部Kafka”时,该参数才会出现。表示采集数据所属的Kafka主题。

      主题是消息存储和发布的类名,通过主题您可以分类传输和处理事件。

      开启SASL_SSL

      当勾选“连接外部Kafka”时,该参数才会出现。开启SASL_SSL后,访问外部Kafka需要提供用户名和密码进行认证,且数据会加密传输。需要根据外部Kafka服务端的实际情况配置。

      默认不勾选。

      用户名

      当勾选“开启SASL_SSL”,该参数才会出现。表示访问外部Kafka需要的用户名。

      密码

      当勾选“开启SASL_SSL”,该参数才会出现。表示访问外部Kafka需要的密码。

      元数据

      当勾选“连接外部Kafka”时,会出现“元数据定义”页签,选择该页签,配置源数据的元数据定义。如果为空的{},您只能传送原始数据,无法使用拦截器对数据进行处理。

      定义好的元数据将会显示在右侧区域中。

      单击“格式化Json”,可对元数据进行Json格式化处理。

      元数据定义示例如下:

      {    "notifyType": "STRING",    "requestId": "STRING",    "timestamp": "STRING",    "eventTime": "datetime",    "deviceId": "STRING",    "gatewayId": "STRING",    "deviceService": {        "name": "STRING"    },    "service": {        "serviceType": "STRING",        "serviceId": "STRING",        "body": "OBJECT",        "data": {            "battery_low": "number",            "light": "STRING"        }    }}

      事件

      当不勾选“连接外部Kafka”时,该参数才会出现。表示从平台内部Kafka采集数据时,数据所关联的具体事件。

    • 5G消息
      图7 5G消息配置信息
      图8 5G消息元数据定义
      表6 数据来源5G消息配置参数说明

      参数名称

      参数说明

      标签

      该数据源的显示标签名。长度不超过64个字节。

      名称

      该数据源的名称,单击参数值后系统可根据“标签”取值自动生成。

      协议

      数据传输的协议。这里所选的协议必须与在5G消息云服务平台选择的传输协议一致。

      数据格式

      设备上报数据的格式。

      APP ID

      设备ID。这里填写的APP ID必须与在5G消息云服务平台填写的保持一致。

      支持引用变量。变量在应用开发界面左下角“设置”里“系统参数”页签进行设置。

      密钥

      5G网关请求密钥。

      需要引用变量时,请勾选“引用变量”。变量在应用开发界面左下角“设置”里“系统参数”页签进行设置。

      元数据类型

      该参数在“元数据定义”页签。为元数据类型,说明如下:

      • 上行消息:5G消息云服务平台向业务应用转发的终端用户上行消息。
      • 状态报告通知消息:业务应用通过5G消息云服务平台向用户发送消息后,5G消息云服务平台向业务应用发送的结果状态报告(即回执消息)。
      • 媒体审核通知:业务应用向5G消息云服务平台上传多媒体内容文件后,文件会送运营商的MAAP平台审核,审核后,5G消息云服务平台向业务应用通报媒体文件审核结果。
      • 消息撤回通知:业务应用发送5G消息给使用5G消息云服务的用户,希望撤回消息。业务应用发起撤回动作到5G消息云服务平台,5G消息云服务平台发送到终端用户,撤销成功后返回5G消息云服务平台,5G消息云服务平台发送消息撤回状态通知给业务应用。

  4. 在页面右侧拖拽拦截器中适当的图标,对源数据进行数据拦截。配置后单击“保存”。

    拦截器中包含以下图标。
    • 投影:数据选择器。可从源数据中选择部分数据进行发送。
      图9 投影配置
      表7 投影配置参数说明表

      参数名称

      参数说明

      标签

      该投影的显示标签名。长度不超过64个字节。

      名称

      该投影的名称,单击参数值后系统可根据“标签”取值自动生成。

      字段选择器

      左侧为外部数据源传入的全部元数据,勾选所需数据字段,单击将所选数据移到右侧输出字段中。

    • 赋值:数据赋值器。可将缓存中的对象数据、传入的外部数据源数据、某个常量数据或者数据取表达式值赋值给某参数。
      图10 赋值器配置
      表8 赋值器配置参数说明表

      参数名称

      参数说明

      标签

      该赋值器的显示标签名。长度不超过64个字节。

      名称

      该赋值器的名称,单击参数值后系统可根据“标签”取值自动生成。

      新增字段

      被赋值的参数。

      源数据。支持以下几种类型。

      • Cache:缓存中的对象数据。需要提前在设置中单击“新增缓存”进行添加。
      • reference:传入的外部数据源元数据。
      • formula:数据取表达式值。格式为“XXX(数据源参数)”。
      • constant:某常量。格式为“常量值”。

      在设置中单击“新增缓存”添加缓存对象数据时,设置如下图所示。

      图11 “新增缓存”配置
      表9 “新增缓存”参数说明

      参数名称

      参数说明

      标签

      该Cache的显示标签名。长度不超过64个字节。

      名称

      该Cache的名称,单击参数值后系统可根据“标签”取值自动生成。

      对象

      映射的对象名。

      高级配置

      高级配置,开关打开后需要配置如下参数。

      • 缓存上限:最大缓存记录数。
      • 过期时间:缓存超时时间。

      默认不打开,采用系统默认配置。

      字段选择器

      左侧为该对象的全部字段,勾选所需数据字段,单击将所选字段移到右侧输出字段中。

      与外部元数据关联的对象字段。

      选择源字段

      传入的外部数据源元数据中与该对象关联的数据字段。

    • 过滤:数据过滤器。您可通过配置一定的过滤条件对外部元数据进行数据过滤。
      图12 过滤器配置
      表10 过滤器配置参数说明表

      参数名称

      参数说明

      标签

      该过滤器的显示标签名。长度不超过64个字节。

      名称

      该过滤器的名称,单击参数值后系统可根据“标签”取值自动生成。

      条件设置

      过滤条件配置。

      单击“新增”可添加多个过滤条件。

  5. 在页面右侧拖拽通道中“内存通道”图标至左侧画布区域Onenet下方,并配置数据通道的基本信息,单击“保存”。

    通道中“内存通道”表示普通的数据通道,当数据较多时可选择“文件通道”图标进行拖拽。
    图13 内存通道配置
    表11 内存通道配置参数说明

    参数名称

    参数说明

    标签

    该内存通道的显示标签名。长度不超过64个字节。

    名称

    该内存通道的名称,单击参数值后系统可根据“标签”取值自动生成。

    高级配置

    高级配置,开关打开后需要配置如下参数:

    • 通道容量:通道数据最大条数。
    • 最大传输量:发到单个输出源的数据最大条数。

    默认不打开,采用系统默认配置。

  6. 在页面右侧拖拽Sink输出源中的图标至左侧画布区域最下方,设置输出事件和输出事件数据的接收方。

    • 当接收方是Kafka时,配置如下。
      您可拖拽多个Sink中的Kafka图标,设置多个事件接收方。
      图14 数据接收方配置页签
      表12 数据接收方配置参数说明

      参数名称

      参数说明

      标签

      数据接收方Kafka的显示标签名。长度不超过64个字节。

      名称

      数据接收方Kafka的名称,单击参数值后系统可根据“标签”取值自动生成。

      事件

      输出的事件。

      发送到外部

      是否发送到外部Kafka。若打开该开关,需要配置“Kafka集群地址”“订阅主题”

      • Kafka集群地址:接收事件的kafka集群地址,多个节点服务器地址可用“,”间隔,格式为“Kafka节点1ip:节点1端口号,Kafka节点2ip:节点2端口号,...”。

        获取Kafka的IP和端口号方法:可以通过登录每台Kafka节点服务器,查看“${KAFKA_HOME}/config”目录下“server.properties”中“listeners”取值获取。

        例如:10.136.14.56:9092

        说明:接收事件的kafka集群不需要一定配置为和AppCube相连。

      • 订阅主题:接收事件数据的kafka Topic。

        例如:__BINGO_PROD_SYS_TOPIC

      • 是否开启SASL_SSL:当发送到外部Kafka时,该参数才会出现。表示是否开启SASL_SSL认证,开启后,访问外部Kafka需要提供用户名和密码进行认证,且数据会加密传输。需要根据外部Kafka服务端的实际情况配置。默认勾选。

      默认不打开该开关,表示输出到与AppCube相连的Kafka。

      事件属性/作为分区Key

      是否将事件中的参数字段作为Kafka的消息头,用于事件分发时发送到不同的Kafka分区。建议选择有区分度的关键字段。

      事件属性/属性、值

      配置传输的数据与事件中已定义参数的对应关系。

      单击“新增行”可添加多行。

    • 当接收方是ROMA Connect,配置如下。
      图15 数据接收方ROMA Connect配置页签
      表13 ROMA Connect基本信息页面参数说明

      参数名称

      参数说明

      标签

      该接收方的显示标签名。长度不超过64个字节。

      名称

      该接收方的名称,单击参数值后系统可根据“标签”取值自动生成。

      APP ID

      MQS平台应用ID。应用ID能够引用一个本平台定义的系统参数,引用位置不限制。示例:{!roma_app_prefix}other_roma_app_id。

      密钥

      MQS平台应用请求密钥。

      主题

      MQS主题。主题能够引用一个本平台定义的系统参数,引用位置不限制。示例:{!roma_topic_prefix}other_roma_topic。

      标签

      设置订阅消息的标签,可以指定消费某一类型的消息。默认*表示消费所有类型的消息,可以写多个,用“||”隔开,例如“tag1 || tag2 || tag3”。

      加密传输

      数据是否加密。

  7. 单击页面上方保存按钮,设置该“数据接入”基本参数。单击“保存”。

    表14 “数据接入”参数说明

    参数名称

    参数说明

    标签

    该“数据接入”的显示标签名。长度不超过64个字节。

    名称

    该“数据接入”的名称,单击参数值后系统可根据“标签”取值自动生成。

    描述

    描述信息。

  8. 单击页面上方图标启用。
  9. 单击页面上方图标运行该“数据接入”。

    Kafka接收到数据,表示设置成功。

    在数据接入编辑页面上方单击停止图标,可停止运行。

  10. 在运行成功的提示框中复制数据推送地址,并进行保存。

    也可在该数据接入运行后,单击页面上方复制数据推送地址。

  11. 在第三方外部数据源侧配置AppCube提供的数据推送地址,具体操作请参考第三方文档。
  12. 可选,可执行该步骤进行调试或故障定位。在数据接入编辑页面上方单击下载图标,下载日志,查看日志进行定位。

    当数据源或者输出源配置信息有误时,可通过下载日志进行定位。

  13. 可选,进行消息跟踪。在数据接入编辑页面右侧选择“消息跟踪”页签,单击“启动”,可启动消息跟踪。

    可实时查看上报的报文处理情况。

    图16 消息跟踪

    消息跟踪在一个周期(默认30分钟)后自动关闭。

support.huaweicloud.com/usermanual-appcube/appcube_05_0085.html