amazon-web-services - 创建 AWS IoT 解决方案以过滤传入数据并将响应实时发送到 Web App
问题描述
我希望通过 AWS IoT 服务实现这种架构,其中我有一组将数据发送到云(AWS IoT Core)的 IoT 设备,当数据到达云时,我希望每条消息做两件事:
- 将消息存档到数据库容器中,后端将要求该容器获取此数据并显示它们。
- 根据保存在我的本地数据库中的一些属性应用过滤条件代码,<我也可以将这些属性保存在云上。例如 DynamoDB 也许!>,然后根据过滤器,如果消息的数据违反特定条件,它应该触发警报(通知)并发送到前端查看。
我怎样才能做到这一点?我做了一些研究,发现了这个解决方案https://aws.amazon.com/solutions/implementations/real-time-iot-device-monitoring-with-kinesis/
我现在知道我可以使用 AWS Kinesis 数据分析应用程序代码过滤流数据,但是如何从应用程序代码中的本地数据库读取我的条件?这甚至支持吗?实现上面显示的简单架构的替代方法是什么?
请注意,我是 AWS 的初学者。
解决方案
我会选择比您从 AWS 发布的架构更简单的架构。您可以简单地为 IoT 主题上的每条传入消息触发一个 lambda 函数。如果可能,此 lambda 可以将函数存储在数据库中并应用于过滤器以发送通知。
如果您真的想在本地数据库中本地保存数据,那将使架构更加复杂(并且成本更高)。因此,我建议您简单地使用 DynamoDB 来存储传入数据并存储应用过滤器所需的值。
然后,根据您期望的数据量,您可以改进您的架构以使用两个 lambda(一个用于存储,一个用于通知)并使用 SNS-SQS 扇出架构。
推荐阅读
- java - 无法为 INSERT .. sqlite3 准备语句
- blockchain - RaiBlocks 区块链 (Nano) 本地客户端 (rai_node –daemon) 无法开设新帐户
- ssh - 监控远程服务器触发的本地文件执行/访问历史
- python - 从 google.cloud.logging_v2 导入类型 ImportError:无法导入名称类型
- scala - 当我没有明确指定类型时,为什么 TypeTag of T Nothing?
- graphql - 如何让 Apollo Server 中的 Schema Stitching 更快?
- ios - 未找到搜索结果时添加带有标签的背景视图
- apache-spark - Java中的DseGraphFrame是否支持导出图形?
- vim - 在 VIM 中,我如何写入所有 (:wa),但仅适用于非隐藏缓冲区?
- python - 带有 gRPC 的 Django REST