观看此文章之前,请先学习AWS iot的数据收集:
使用Linux SDK客户端向AWS Iot发送数据-CSDN博客
上述的文章向大家展示了如何从客户端向AWS iot发送数据,那么数据收到之后,我们如何通过AWS的服务进行数据处理或者保存呢?我们对包含各种topic的数据需要配置“消息路由”来改变数据的走向。
1、工作原理:
1.1 规则
规则可让您的设备与 AWS 服务进行交互。分析规则并根据物品发送的消息执行操作。您可以使用规则来支持任务,例如补充或筛选从设备接收的数据。
1.2 目的地
目的地是定义规则引擎可将数据路由至何处的资源。目的地可以跨规则重复使用,并且可能需要经过确认或配置才能使用。目的地可让规则引擎将数据发送到未与 AWS IoT 原生集成的其他服务。
1、工作原理:
1.1 规则
规则可让您的设备与 AWS 服务进行交互。分析规则并根据物品发送的消息执行操作。您可以使用规则来支持任务,例如补充或筛选从设备接收的数据。
1.2 目的地
目的地是定义规则引擎可将数据路由至何处的资源。目的地可以跨规则重复使用,并且可能需要经过确认或配置才能使用。目的地可让规则引擎将数据发送到未与 AWS IoT 原生集成的其他服务。
2、创建消息路由
2.1 点击消息路由并创建规则
2.2 规则名称
2.3 选择SQL语句
2.4 操作写入S3
操作1: S3 bucket
存储桶名称: s3://mytestdxc
注:存储桶名称格式必须为 s3://存储桶名称,不可加后缀,否则测试失败
键: 键为文件的目录+名称,你可以简单的在存储桶根目录下创建一个mytestfile的文件,
当然可以包含多层S3目录,比如test1/test2/tes3/mytestfile,表示存储桶有三层目录创建一个mytestfile的文件
2.5 创建新角色
2.6 创建消息路由
至此,完成消息路由的创建
3、测试
3.1 客户端操作
3.2 检查S3数据
我们可以看到topic【sdk/test/python】的数据已经可以正常写入到S3存储桶中,但是文件数据只保存最新的一条数据,不会全部保存,我们应该如何保存topic所有的数据呢?这里就要引入Kinesis Firehose Stream,请看
将AWS iot消息数据发送Kinesis Firehose Stream存向S3-CSDN博客