Insights Hub Insights Hub LPC 如何通过kafka服务订阅asset中的IoT 数据

2024-09-04T15:00:10.000+0800
APIs & Services

摘要

在实际使用Insights Hub的过程,可能会有这样的需求,需要订阅Insights hub中asset的数据与第三方系统结合使用,现在通过IoT Times Series Stream Registration Service 提供API,就可实现将asset中数据同步到自己的系统。


详细信息

在实际使用Insights Hub的过程,可能会有这样的需求,需要订阅某些asset中数据到第三方系统,现在可以通过IoT Times Series Stream Registration Service 提供API可实现将asset中数据同步到第三方系统。但是在调用API之前我们需要通过集群提供的Kafka服务或者自建kafka服务,然后在服务中创建一个kafka服务topic,在通过订阅创建的topic获取数据。如果是自建的kafka服务,安装kafka服务的机器需要能够和Insights Hub集群通信,建议是使用自建Kafka服务作为数据订阅,使用Insights Hub集群中,Kafka提供的topic可能会影响Insights hub资源的使用,从而影响Insights hub性能。

具体操作步骤如下:

1.在自建Kafka服务器或者Insights hub集群的kafka服务器上创建Topic,Kafka服务器搭建和topic 创建可以参考网络资源

2.可以通过Kafka客户端工具连接kafka服务器,测试是否可以正常工作

3.使用GET /api/iottsstreams/v3/registrations API,可以检查获取在租户(tenant)中已注册数据订阅ID信息,如图所示:

4.使用GET /api/iottsstreams/v3/registrations/{id} API 根据注册数据订阅ID获取特定注册信息,可以查看注册ID中有那些asset,如图所示:

5.使用Delete /api/iottsstreams/v3/registrations/{id} API 删除指定数据订阅信息,删除某些不需要数据注册订阅消息,如图所示:

6.调用POST api/iottsstreams/v3/registrations API 注册指定的订阅数据的asset,并获取注册ID,

  • POST api/iottsstreams/v3/registrations,body格式如下

{

    "filter": [{

            "assetId": "b727627746644a5296069e92cbd45d8f",

        }

    ],

    "destination": {

        "type": "KAFKA",

        "connectionDetails": {

            “host”: “127.0.0.1:9092",//安装kafka服务的服务器,支持多个多个kafka服务器

            "user": "my-stream ",//Kafka服务中创建的topic

            "keyId": "String",

            "keySecret": "String"

        }

    }

}

Filter:需要订阅的assetid,支持多个asset同时订约
Type:数据流类型
Host:Kafka 服务ip地址和端口号
User:kafka服务创建的topic名称
KeyId: Kafka服务器连接keyid,根据实际情况可以省略
KeySecret: Kafka服务器连接KeySecret, Kafka服务器连接keyid
如图所示:
 
7. 通过ID注册调用POST api/iottsstreams/v3/registrations/{id}/validationJob,验证注册信息,也可以使用步骤2中接口获取注册,接口返回204表示验证成功,执行这个接口之后,可以使用Kafka客服端工具,订阅数据
8.使用Kafka客户端工具连接kafka服务器,选择订阅数据的topic,然后拉取数据。如果是使用Kafka 服务命令订阅数据,是作为消费者去订阅如图所示:

知识库文章 ID# KB000134075_ZH_CN

内容

摘要详细信息

关联组件

IoT Time Series Service