全部产品
Search
文档中心

阿里云物联网平台:数据转发到其他Topic

更新时间:Dec 07, 2023

您可以设置将解析脚本处理完的数据,转发到另一个Topic中,实现设备间通信或者其他通信场景。本文以物模型数据上报Topic为例,介绍流转消息数据的完整流程。

前提条件

已创建数据源DataSource,并添加物模型数据上报Topic。具体步骤,请参见添加待流转的数据源

背景信息

规则引擎数据转发功能将Topic 1中的数据转发到Topic 2内。

数据流转示意图如下。

数据流转到topic

创建数据目的

  1. 登录物联网平台控制台
  2. 实例概览页签的全部环境下,找到对应的实例,单击实例卡片。

  3. 在左侧导航栏,选择消息转发 > 云产品流转
  4. 云产品流转页面,单击右上角体验新版,进入新版功能页面。

    说明

    如果您已执行过此操作,再次进入云产品流转页面,会直接进入新版功能页面。

  5. 单击数据目的页签,然后单击创建数据目的

  6. 创建数据目的对话框,输入数据目的名称,例如DataPurpose,按照以下参数说明,完成配置,然后单击确定

    本示例配置如下图所示。选择操作

    参数

    说明

    选择操作

    选择发布到另一个Topic

    产品

    选择转发的目的地Topic所属产品。

    具体Topic,需在解析脚本中通过函数writeIotTopic(destinationId, topic, payload)设置。函数说明,请参见数据流转函数

配置并启动解析器

  1. 创建解析器,例如DataParser。具体操作,请参见创建解析器

  2. 解析器详情页面,关联数据源。

    1. 在配置向导的数据源下,单击关联数据源

    2. 在弹出的对话框中,单击数据源下拉列表,选择已创建的数据源DataSource,单击确定

  3. 解析器详情页面,关联数据目的。

    1. 单击配置向导的数据目的,然后单击数据目的列表右上方的关联数据目的

    2. 在弹出的对话框中,单击数据目的下拉列表,选择已创建的数据目的DataPurpose,单击确定

    3. 在数据目的列表,查看并保存数据目的ID,例如为1000

      后续解析脚本中,需使用此处的数据目的ID

  4. 解析器详情页面,单击解析器

  5. 在脚本输入框,输入解析脚本。脚本编辑方法,请参见脚本示例

    函数参数说明,请参见函数列表

    //通过payload函数,获取设备上报的消息内容,并按照JSON格式转换。
    var data = payload("json");
    //直接流转物模型上报数据。
    writeIotTopic(1000, "/sys/a1I***/room3/thing/service/property/set", data);
  6. 单击调试,根据页面提示,选择产品和设备,输入Topic和Payload数据,验证脚本可执行。

    参数示例如下:调试示例

    运行结果如下,表示脚本执行成功。

    运行结果

  7. 单击发布

  8. 回到云产品流转页面的解析器页签,单击解析器DataParser对应的启动按钮,启动解析器。