在实际使用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,
{
"filter": [{
"assetId": "b727627746644a5296069e92cbd45d8f",
}
],
"destination": {
"type": "KAFKA",
"connectionDetails": {
“host”: “127.0.0.1:9092",//安装kafka服务的服务器,支持多个多个kafka服务器
"user": "my-stream ",//Kafka服务中创建的topic
"keyId": "String",
"keySecret": "String"
}
}
}