使用 DynamoDB 操作创建规则 - AWS IoT
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

使用 DynamoDB 操作创建规则

DynamoDB 操作允许您从传入的 MQTT 消息提取信息,并将其写入 DynamoDB 表。

创建 DynamoDB 规则

  1. AWS IoT 控制台的导航窗格中,选择 Act (行动)

  2. Rules 页面,选择 Create

  3. 创建规则页面上,输入规则的名称和描述。

    注意

    我们建议不要在规则名称或描述中使用个人身份信息。

  4. 规则查询语句下,从使用 SQL 版本列表中选择最新版本。对于规则查询语句,输入:

    SELECT * FROM 'my/greenhouse'

    "SELECT *" 指定您需要发送触发了规则的完整 MQTT 消息。"FROM 'my/greenhouse'" 告知规则引擎在收到其主题与该主题筛选条件匹配的 MQTT 消息时,触发此规则。选择添加操作

  5. Select an action (选择操作) 上,选择 Insert a message into a DynamoDB table (将消息插入到 DynamoDB 表),然后选择 Configure action (配置操作)

  6. Configure action (配置操作) 上,选择 Create a new resource (创建新资源)

  7. Amazon DynamoDB 页面,选择 Create table

  8. Create DynamoDB table (创建 DynamoDB 表) 上,输入名称。在分区键中,输入 Row。选择添加排序键,然后在排序键字段中输入 PositionInRowRow 表示温室中的一排植物。PositionInRow 表示某个植物在一排植物中的位置。为分区键和排序键选择字符串,然后选择创建。创建 DynamoDB 表会需要几秒钟时间。关闭打开 Amazon DynamoDB 控制台的浏览器标签。如果您不关闭该标签页,则您的 DynamoDB 表不会显示在 AWS IoT 控制台的配置操作页面上的表名称列表中。

  9. Configure action (配置操作) 上,从 Table name (表名称) 列表中选择您的新表。在分区键值中,输入 ${row}。执行这一操作后,规则将从 MQTT 消息中获取 row 属性的值,并将其写入 DynamoDB 表中的列。在排序键值中,输入 ${pos}。此操作会将 pos 属性的值写入 PositionInRow 列。在 Write message data to this column (将消息数据写入到此列) 中,输入 Payload。这会将消息负载插入到 Payload 列中。将 Operation (操作) 留空。该字段允许您指定触发操作时要执行的操作(INSERT、UPDATE 或 DELETE)。选择 Create a new role

  10. Create new role (创建新角色) 中,输入唯一的名称,然后选择 Create role (创建角色)

  11. 选择 Add Action

  12. 选择 Create rule

使用 DynamoDB 操作测试规则

  1. 要测试规则,请打开 AWS IoT 控制台,并从导航窗格中选择测试

  2. 选择发布到主题。在 Publish (发布) 部分中,输入 my/greenhouse。在消息区域中,输入以下 JSON:

    { "row" : "0", "pos" : "0", "moisture" : "75" }

    返回到 DynamoDB 控制台并选择

    选择 GreenhouseTable,然后选择 Items (项目)。您的数据将显示在项目选项卡上。