1

我有一个问题问你。我是 AWS IoT、AWS ES 和 MQTT 的新手。我按照这个不错的教程完成了它。我使用 AWS Lambda 函数向 AWS IoT 发送了 JSON 数据。然后,在 AWS IoT 中,我创建了一个规则来将此数据发送到 AWS Elasticsearch。最后,我使用 Kibana 将数据可视化。

我的下一个任务是将这些数据存储在 3 种不同类型的数据库中:关系数据库 (Amazon Aurora)、键值数据库 (Amazon Dynamo DB) 和文档数据库 (Amazon Document DB)。但如您所知,AWS IoT 通常不提供这些选项。它仅提供“将消息插入 DynamoDB 表”选项。在这种情况下,我如何创建其他数据库并从 AWS IoT 发送数据?有什么资料或教程可以为我推荐吗?

如果有经验的人能指导我,我会很高兴非常感谢!

(仅供参考:我的 elasticsearch 没有 VPC。我正在使用公共访问权限。到目前为止,我没有使用任何 EC2。)

4

2 回答 2

3

将 AWS IoT 数据插入数据库的最常用方法是将 IoT 配置为将消息发送到 AWS Lambda 函数。在 Lambda 函数中,您将连接到数据库并插入数据,就像任何其他数据库交互一样。

于 2020-10-26T15:02:32.163 回答
0

您可以使用 AWS IoT Analytics 将消息存储在 S3 存储桶中。一个简单的管道(没有转换)将以压缩格式存储传入的消息,并将输出存储在由 data/timestamp 命名的 json.gz 文件中。如果您使用自定义 S3 存储桶配置 IoT Analytics,则可以将存储桶的保留策略设置为使旧数据过期。

您可以编写一些代码来读取 Analytics Pipeline 输出文件并将它们放入您想要的任何数据存储中。

或者,您可以将消息发送到 Lambda 函数并让它们连接并将消息存储在数据库中。使用 Analytics Pipeline 的优势是,如果您遇到数据库停机时间,或者您部署存在错误的数据库摄取代码,您可以继续接收/存储 MQTT 消息。

于 2020-10-26T19:30:14.803 回答