最近研究利用Azure的 Event hub ,Stream Analytics和TableStorage来实现IOT的一个方案,
利用Event hub来采集传感器设备数据值,然后输入到StreamAnalytics进行分析,最后将分析数据流输入到TableStorage进行存储和展现,
我们将利用程序模拟50个传感器终端将数据值传送到Eventhub中进行试验
第一步:在Azure上创建Event Hub、Stream Analytics和TableStorage
1.创建服务总线:
创建完成后,单击进入选择事件中心,单击创建一个事件中心
单击进入事件中心,选择配置,设置共享的访问策略
设置完成后单击保存即可。
2.创建流分析
创建完成后单击进入,我们将配置stream的输入、输出、查询
添加输入数据流:
输入别名要记住,stream 在查询时要使用到这个别名
至此,输入流配置完毕
添加输出数据流:
选择输出选项卡,进行添加
同样,输出别名将在stream 查询语句中使用,分区键类似于sql中的主键但也有所不同,这里我将设备ID赋值给他
至此输出创建完成。
设置查询
查询将利用T-SQL语句进行,pmmstreameh和pmmtable分别是在流分析中创建的事件中心的别名和输出table的别名
数据流输出时会自动在pmmtb(表存储)里面添加 streamOutTime,deviceId,pmValue,addTime列
至此,所有配置都完成,接下来启动此流分析然后将模拟程序启动将模拟数据进行推送到Eventhub中
启动流分析:
启动模拟程序:(模拟程序是将数据发送到Event Hub中)
我们用 Azure Storage Explorer连接到表进行查看输出的数据流:
所有配置完成