鉴于我有xK设备,它们每个都连接到AWS IoT,并且每个都具有将它们分组的属性/阴影状态
设备阴影示例:{“ factory”:“ factoryA”,“ pipeInstalledVersion:” 1.5.6“}
分组监视这些设备的最简单方法是什么(基于影子状态)
例如我想知道工厂A在11:05、15:30、20:50连接了多少设备。我还想知道设备在特定时间间隔(例如,每5分钟)具有什么pipeInstalledVersion。我也想知道如果在工厂A的09:00所连接的设备少于X个,则发送警报。
AWS IoT具有用于已连接设备的监视仪表板,但无法通过影子状态/属性对其进行分组
我已经研究过AWS IoT分析,但似乎存在一些限制-即使基础数据集可以每5分钟刷新一次,推荐的平台QuickSight可视化数据也具有有限的自动刷新时间(我认为是1小时)。-仅当IOT设备在该时间内已传输数据时,数据集才会显示数据。如果已连接IOT设备但在该时间段内未传输数据怎么办?好像没有连接。
Fleet indexing提供了使用Thing属性和Thing Shadow状态强大搜索整个设备的功能。
与AWS Lambda结合使用,您就可以自己安排对舰队的计划搜索,可以将其与任何数量的AWS操作(即,记录CloudWatch指标,扩展EC2等)配对使用。
样本机队索引查询:
connectivity.connected:true
返回当前连接的所有事物。
connectivity.connected:true AND shadow.reported.model:A
返回当前连接的所有事物并具有特定的阴影状态。
aws iot get-cardinality --aggregation-field "connectivity.connected" --query-string "*"
在给定时间查找已连接设备的数量。 (aggregation queries)