我希望通过 AWS IoT 服务实现此架构,其中我有一组 IoT 设备将数据发送到云(AWS IoT Core),当数据到达云时我想对每条消息执行两件事:
我怎样才能实现这个目标?
我做了一些研究并找到了这个解决方案https://aws.amazon.com/solutions/implementations/real-time-iot-device-monitoring-with-kinesis/
我现在知道可以使用 AWS Kinesis 数据分析应用程序代码过滤流数据,但如何在应用程序代码中从本地数据库读取我的条件?这还受支持吗?实现上面所示的简单架构的替代方法是什么?
请注意,我是 AWS 的初学者。
我会选择一种比您从 AWS 发布的架构简单得多的架构。您只需为 IoT 主题上的每条传入消息触发一个 lambda 函数即可。该 lambda 可以将函数存储在数据库中,并应用于过滤器以在可能的情况下发送通知。
如果您确实希望将数据存储在本地数据库上,那么这将使架构变得更加复杂(并且更加昂贵)。因此,我建议您仅使用 DynamoDB 来存储传入数据并存储应用过滤器所需的值。
根据您期望的数据量,您可以改进架构以使用两个 lambda(一个用于存储,一个用于通知)并使用 SNS-SQS 扇出架构。