我如何使用Db2作为Watson IoT平台的历史数据存储,而不是NoSQL



我有一个Watson IoT平台的实例在运行,我有兴趣将每个事件的数据存储在关系数据库中(我可以控制如何从设备格式化数据,所以知道JSON的样子不是问题(。我在网上找到了很多文档,比如:

https://developer.ibm.com/recipes/tutorials/create-dashdb-data-warehouse-for-reporting-on-elevator-device-data/

但我不确定这是否适用,因为我没有使用相同的服务。本质上,我想做的是将数据行存储在云上的Db2实例中。这是否像连接Cloud Foundry应用程序以响应IoTP中的新事件并将其写入数据库一样简单?或者有更简单的方法吗?

我想您正在IOT中寻找一个将设备事件直接写入Db2的选项,但我认为没有。如果您有一个注册为侦听IOT事件的应用程序,那么该应用程序可能正在写入Db2数据库。

我建议看一下连接器cloudant应用程序。

https://github.com/ibm-watson-iot/connector-cloudant

这演示了如何编写/部署一个应用程序,该应用程序将订阅Watson IoT组织中的一些/所有事件,并将它们异步写入数据库。在这种情况下,数据库是Cloudant,但此示例中的代码可以很容易地修改为只需最少修改即可写入任何数据库:

具体参见myEventCallback()方法:https://github.com/ibm-watson-iot/connector-cloudant/blob/master/connector/connector-cloudant.py#L71

对于应用程序接收到的每个事件,都会调用该方法。重写该方法,将对Cloudant的写入替换为对db2的写入(例如,使用ibm_db模块(,您已经完成了一半。

最新更新