我有一个问题要问你。我是AWS IoT,AWS ES和MQTT的新手。我遵循了this不错的教程,并完成了它。我使用AWS Lambda函数将JSON数据发送到AWS IoT。然后,在AWS IoT中,我创建了一个规则以将该数据发送到AWS Elasticsearch。最后,我使用Kibana可视化了数据。
我的下一个任务是将数据存储在3种不同类型的数据库中:关系数据库(Amazon Aurora),键值数据库(Amazon Dynamo DB)和文档数据库(Amazon Document DB)。但您知道,AWS IoT通常不提供这些选项。它仅提供“将消息插入DynamoDB表”。在这种情况下,如何创建其他数据库并从AWS IoT发送数据?您是否可以为此建议任何源或教程?
如果有经验的人可以指导我,我将非常高兴?非常感谢! ?
(仅供参考:我的Elasticsearch没有VPC。我正在使用公共访问权限。到目前为止,我没有使用任何EC2。)
答案 0 :(得分:2)
将AWS IoT数据插入数据库的最常见方法是配置IoT,以将消息发送到AWS Lambda函数。在Lambda函数中,您将连接到数据库并像其他任何数据库交互一样插入数据。
答案 1 :(得分:0)
您可以使用AWS IoT Analytics将消息存储在S3存储桶中。一个简单的管道(不进行任何转换)将以压缩格式存储传入的消息,并将输出存储在以data / timestamp命名的json.gz文件中。如果您为IoT Analytics(分析)配置了自定义S3存储桶,则可以设置存储桶的保留策略以使旧数据过期。
您可以编写一些代码来读取Google Analytics(分析)管道输出文件,并将其放入所需的任何数据存储中。
或者您可以只将消息发送到Lambda函数,然后让它们连接并将消息存储在数据库中。使用Google Analytics(分析)管道的好处是,如果数据库停机,或者部署带有错误的数据库提取代码,您可以继续接收/存储MQTT消息。