首页 > 解决方案 > 创建 AWS IoT 解决方案以过滤传入数据并将响应实时发送到 Web App

问题描述

期望的架构

我希望通过 AWS IoT 服务实现这种架构,其中我有一组将数据发送到云(AWS IoT Core)的 IoT 设备,当数据到达云时,我希望每条消息做两件事:

  1. 将消息存档到数据库容器中,后端将要求该容器获取此数据并显示它们。
  2. 根据保存在我的本地数据库中的一些属性应用过滤条件代码,<我也可以将这些属性保存在云上。例如 DynamoDB 也许!>,然后根据过滤器,如果消息的数据违反特定条件,它应该触发警报(通知)并发送到前端查看。

我怎样才能做到这一点?我做了一些研究,发现了这个解决方案https://aws.amazon.com/solutions/implementations/real-time-iot-device-monitoring-with-kinesis/ AWS 物联网解决方案

我现在知道我可以使用 AWS Kinesis 数据分析应用程序代码过滤流数据,但是如何从应用程序代码中的本地数据库读取我的条件?这甚至支持吗?实现上面显示的简单架构的替代方法是什么?

请注意,我是 AWS 的初学者。

标签: amazon-web-servicesfilteriotaws-iot

解决方案


我会选择比您从 AWS 发布的架构更简单的架构。您可以简单地为 IoT 主题上的每条传入消息触发一个 lambda 函数。如果可能,此 lambda 可以将函数存储在数据库中并应用于过滤器以发送通知。

如果您真的想在本地数据库中本地保存数据,那将使架构更加复杂(并且成本更高)。因此,我建议您简单地使用 DynamoDB 来存储传入数据并存储应用过滤器所需的值。

然后,根据您期望的数据量,您可以改进您的架构以使用两个 lambda(一个用于存储,一个用于通知)并使用 SNS-SQS 扇出架构。


推荐阅读