向亚马逊 DynamoDB 发布房产价值更新 - Amazon IoT SiteWise
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

向亚马逊 DynamoDB 发布房产价值更新

本教程介绍了一种使用 Amazon Dynamo DB 存储数据的便捷方法,让您可以更轻松地访问历史资产数据,而无需重复查询。 Amazon IoT SiteWise API完成本教程后,您可以创建使用资产数据的自定义软件,例如整个风电场的风速和风向的实时地图。如果您想在不实施自定义软件解决方案的情况下监控和可视化数据,请参阅使用监控数据 Amazon IoT SiteWise Monitor

在本教程中,您将在提供风力发电场示例数据集的 Amazon IoT SiteWise 演示基础上进行构建。您可以配置从风电场演示的属性值更新,通过 Amazon IoT Core 规则将数据发送到您创建的 DynamoDB 表。启用属性值更新后, Amazon IoT SiteWise 会在MQTT消息 Amazon IoT Core 中将您的数据发送到。然后,根据这些消息的内容定义执行操作(例如 DynamoDB 操作)的 Amazon IoT 核心规则。有关更多信息,请参阅 与其他 Amazon 服务互动

先决条件

要完成本教程,您需要:

  • 一个 Amazon 账户。如果没有,请参阅设置一个 Amazon Web Services 账户

  • 一台运行 Windows、macOS、Linux 或 Unix 的开发计算机,用于访问。 Amazon Web Services Management Console有关更多信息,请参阅 Amazon Web Services Management Console入门

  • 具有管理员权限的 IAM 用户。

  • 正在运行的 Amazon IoT SiteWise 风力发电场演示。当你设置演示时,它会定义模型和资产, Amazon IoT SiteWise 并将数据流式传输到它们以表示风力发电场。有关更多信息,请参阅 使用演 Amazon IoT SiteWise 示

步骤 1:配置 Amazon IoT SiteWise 以发布属性值更新

在该过程中,您在演示涡轮机资产的 Wind Speed 属性上启用属性值通知。启用属性值通知后,会在MQTT消息中向 C Amazon IoT ore Amazon IoT SiteWise 发布每项值更新。

在资产属性上启用属性值更新通知
  1. 登录 Amazon IoT SiteWise 控制台

  2. 查看支持的Amazon IoT SiteWise 终端节点和配额,必要时切换 Amazon 区域。 Amazon IoT SiteWise 切换到你正在运行 Amazon IoT SiteWise 演示的区域。

  3. 在左侧导航窗格中,选择 资产

    Amazon IoT SiteWise “资产” 左侧导航元素屏幕截图。
  4. 选择 Demo Wind Farm Asset 旁边的箭头,展开风电场资产的层次结构。

    Amazon IoT SiteWise “Demo Wind Farm Asset” 层次结构屏幕截图。
  5. 选择一个演示涡轮机,然后选择 编辑

    Amazon IoT SiteWise “Demo Turbine Asset” 屏幕截图。
  6. Wind Speed酒店的通知状态更新为ENABLED

    Amazon IoT SiteWise “编辑通知状态” 屏幕截图。
  7. 选择页面底部的 保存资产

  8. 对于每个演示涡轮机资产,重复步骤 5 至 7。

  9. 选择演示涡轮机(例如,Demo Turbine Asset 1)。

  10. 选择 测量值

  11. 选择 Wind Speed 属性旁边的复制图标,以将通知主题复制到剪贴板。保存通知主题以在本教程后面使用。您只需记录一个涡轮机中的通知主题。

    Amazon IoT SiteWise “复制通知主题” 屏幕截图。

    通知主题应类似于以下示例。

    $aws/sitewise/asset-models/a1b2c3d4-5678-90ab-cdef-11111EXAMPLE/assets/a1b2c3d4-5678-90ab-cdef-22222EXAMPLE/properties/a1b2c3d4-5678-90ab-cdef-33333EXAMPLE

第 2 步:在 C Amazon IoT ore 中创建规则

在此过程中,您将在 Amazon IoT Core 中创建一条规则,用于解析属性值通知消息并将数据插入到 Amazon DynamoDB 表中。 Amazon IoT 核心规则根据每MQTT条消息的内容和主题解析消息并执行操作。然后,您创建一个带有 DynamoDB 操作的规则,用于将数据插入您在本教程中创建的 DynamoDB 表。

使用 DynamoDB 操作创建规则
  1. 导航到 Amazon IoT 控制台。如果显示 开始 按钮,请选择该按钮。

  2. 在左侧导航窗格中,选择行动,然后选择规则

    Amazon IoT 核心 “创建规则” 屏幕截图。
  3. 如果显示您还没有任何规则对话框,请选择创建规则。否则,选择 创建

  4. 为规则输入名称和描述。

    Amazon IoT 核心 “创建规则” 页面屏幕截图,突出显示 “名称” 和 “描述”。
  5. 查找您在本教程前面保存的通知主题。

    $aws/sitewise/asset-models/a1b2c3d4-5678-90ab-cdef-11111EXAMPLE/assets/a1b2c3d4-5678-90ab-cdef-22222EXAMPLE/properties/a1b2c3d4-5678-90ab-cdef-33333EXAMPLE

    将主题中的资产 ID(后面的 IDassets/)替换为+。这将为所有演示风力涡轮机资产选择风速属性。+ 主题筛选器接受主题中的单个级别的所有节点。您的主题应类似于以下示例。

    $aws/sitewise/asset-models/a1b2c3d4-5678-90ab-cdef-11111EXAMPLE/assets/+/properties/a1b2c3d4-5678-90ab-cdef-33333EXAMPLE
  6. 输入以下规则查询语句。将 FROM 部分中的主题替换为您的通知主题。

    SELECT payload.assetId AS asset, (SELECT VALUE (value.doubleValue) FROM payload.values) AS windspeed, timestamp() AS timestamp FROM '$aws/sitewise/asset-models/a1b2c3d4-5678-90ab-cdef-11111EXAMPLE/assets/+/properties/a1b2c3d4-5678-90ab-cdef-33333EXAMPLE' WHERE type = 'PropertyValueUpdate'
  7. 设置一个或多个操作 下,选择 添加操作

    Amazon IoT 核心 “创建规则” 页面屏幕截图,突出显示 “添加操作”。
  8. 选择操作页面上,选择将消息拆分为 DynamoDB 表的多列 (ynamoDBvD 2)。

    Amazon IoT 核心 “选择动作” 页面屏幕截图,突出显示了 D ynamoDBv 2 动作。
  9. 选择页面底部的 配置操作

  10. 配置操作 页面,选择 创建新资源

    DynamoDB 控制台将打开新的选项卡。在完成以下过程时,请将规则操作选项卡保持打开状态。

步骤 3:创建 DynamoDB 表

在此过程中,您将创建一个 Amazon DynamoDB 表来接收来自规则操作的风速数据。

创建 DynamoDB 表
  1. 在 DynamoDB 控制台控制面板中,选择创建表

  2. 输入表的名称。

    DynamoDB“创建表”页面屏幕截图。
  3. 对于 主键,请执行以下操作:

    1. 输入 timestamp 以作为分区键。

    2. 选择 数字 类型。

    3. 选中 添加排序键 复选框。

    4. 输入 asset 以作为排序键,并保留默认排序键类型 字符串

  4. 选择创建

    正在创建表 通知消失时,您的表将准备就绪。

  5. 返回到具有 配置操作 页面的选项卡。在完成以下过程时,请将 DynamoDB 选项卡保持打开状态。

步骤 4:配置 DynamoDB 规则操作

在此过程中,您将配置 Amazon DynamoDB 规则操作,以将属性值更新中的数据插入到新的 DynamoDB 表中。

配置 DynamoDB 规则操作
  1. 配置操作页面上,刷新表名称列表,然后选择新的 DynamoDB 表。

    Amazon IoT 核心 “配置 D ynamoDBv 2 操作” 页面屏幕截图,表格查找器突出显示。
  2. 选择 C re ate role 以创建一个IAM角色,该角色向 Amazon IoT 核心授予执行规则操作的访问权限。

  3. 输入角色名称,然后选择创建角色

    Amazon IoT 核心 “配置 D ynamoDBv 2 操作” 页面屏幕截图,突出显示 “创建角色”。
  4. 选择添加操作

  5. 选择页面底部的 创建规则 以完成创建规则的过程。

    将开始在 DynamoDB 表中显示您的演示资产数据。

步骤 5:在 DynamoDB 中浏览数据

在此过程中,您将在新的 Amazon DynamoDB 表中浏览演示资产的风速数据。

在 DynamoDB 中浏览资产数据
  1. 返回到打开了 DynamoDB 表的选项卡。

  2. 在您以前创建的表中,选择 项目 选项卡以查看表中的数据。如果您没有看到表中的行,请刷新页面。如果在几分钟后没有显示行,请参阅对规则进行故障排除 (DynamoDB)

    DynamoDB 表页面屏幕截图,并突出显示了“项目”选项卡。
  3. 在表的一行中,选择编辑图标以展开数据。

    DynamoDB 表页面屏幕截图,并突出显示了行中的编辑图标。
  4. 选择 windspeed 结构旁边的箭头,以展开风速数据点列表。每个列表都反映了风电场演示发送到 Amazon IoT SiteWise 的一批风速数据点。如果您设置规则操作以供自己使用,则可能需要使用不同的数据格式。有关更多信息,请参阅 查询资产属性通知消息

    DynamoDB“编辑表行”面板屏幕截图。

现在您已经完成了教程,请禁用或删除该规则并删除您的 DynamoDB 表,以免产生额外费用。要清理您的资源,请参阅步骤 6:完成教程后清理资源

步骤 6:完成教程后清理资源

完成本教程后,清理资源以避免产生额外费用。您的演示风电场资产将在您在创建演示时选择的时间结束时删除。您也可以手动删除演示。有关更多信息,请参阅 删除演 Amazon IoT SiteWise 示

使用以下过程禁用属性值更新通知(如果您没有删除演示)、禁用或删除您的 Amazon IoT 规则,以及删除您的 DynamoDB 表。

禁用资产属性上的属性值更新通知
  1. 导航到 Amazon IoT SiteWise 控制台

  2. 在左侧导航窗格中,选择 资产

    Amazon IoT SiteWise “资产” 左侧导航元素屏幕截图。
  3. 选择 Demo Wind Farm Asset 旁边的箭头,展开风电场资产的层次结构。

    Amazon IoT SiteWise “Demo Wind Farm Asset” 层次结构屏幕截图。
  4. 选择一个演示涡轮机,然后选择 编辑

    Amazon IoT SiteWise “Demo Turbine Asset” 屏幕截图。
  5. Wind Speed酒店的通知状态更新为DISABLED

    Amazon IoT SiteWise “编辑通知状态” 屏幕截图。
  6. 选择页面底部的 保存资产

  7. 对于每个演示涡轮机资产,重复步骤 4 至 6。

禁用或删除中的规则 Amazon IoT Core
  1. 导航到 Amazon IoT 控制台

  2. 在左侧导航窗格中,选择行动,然后选择规则

  3. 选择您的规则上的菜单,然后选择 禁用删除

    Amazon IoT 核心 “规则” 页面屏幕截图,其中规则的菜单已打开并突出显示。
删除 DynamoDB 表
  1. 导航到 DynamoDB 控制台

  2. 在左侧导航窗格中,选择

  3. 选择您之前创建的表 WindSpeedData

  4. 选择 删除表

    DynamoDB“表”页面屏幕截图,其中突出显示了“删除表”。
  5. 删除表 对话框中,选择 删除

    DynamoDB“删除表”对话框屏幕截图,突出显示了“删除”。