使用资产属性通知将数据导出到 Amazon S3 - Amazon IoT SiteWise
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

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

使用资产属性通知将数据导出到 Amazon S3

您可以将传入的数据导出 Amazon IoT SiteWise 到您账户中的 Amazon S3 存储桶。您可以按照一种格式备份数据,该格式可用于创建历史报告或使用复杂方法分析数据。

注意

Amazon IoT SiteWise 还支持冷层存储,允许您将数据保存在客户管理的 Amazon S3 存储桶中。有关支持的存储层的更多信息,请参阅 管理数据存储

Amazon IoT SiteWise 将此功能作为 Amazon CloudFormation 模板提供。当您根据模板创建堆栈时, Amazon CloudFormation 会创建将传入数据流式传输 Amazon IoT SiteWise 到 S3 存储桶所需的 Amazon 资源。

然后,S3 存储桶将接收从属性值更新消息发送的所有资产 Amazon IoT SiteWise 属性数据。S3 存储桶还会接收您的资产元数据,其中包括资产和属性名称以及其他信息。

有关如何为导出到 Amazon S3 的资产属性启用属性值更新消息的更多信息,请参阅 与其他 Amazon 服务交互

此功能在 AmazonS3 中以 ApacheParquet 格式存储资产属性数据和资产元数据。Parquet 是列式数据格式,与 JSON 等行式格式相比,前者可节省空间并更快地启用查询。

注意

此功能在检索资产元数据时,最多支持大约 1500 个资产属性。此限制仅适用于资产元数据。在该功能导出资产属性数据时,此限制不应用到支持的资产数。

每个资源的名称都包含一个前缀,您可以在创建堆栈时自定义该前缀。资源包括以下内容:

  • 一个 Amazon S3 存储桶

  • Amazon Lambda 函数

  • 一条 Amazon IoT Core 规则

  • Amazon Identity and Access Management 角色

  • 亚马逊 Data Firehose 直播

  • 一个 Amazon Glue 数据库

有关完整列表,请参阅从模板创建的资源

重要

您需要为该 Amazon CloudFormation 模板创建和使用的资源付费。这些费用包括多项 Amazon 服务的数据存储和数据传输。

创建堆 Amazon CloudFormation 栈

您可以在中创建堆栈,将您的资产数据导出 Amazon CloudFormation 到 Amazon S3。

要将数据导出到 Amazon S3
  1. 打开 Amazon CloudFormation 模板并登录 Amazon Web Services Management Console。

  2. 创建堆栈 页面,选择页面底部的 下一步

  3. 指定堆栈详细信息页面上,输入此模板BucketName为接收资产数据而创建的 S3 存储桶。此存储桶名称必须全局唯一。有关更多信息,请参阅 Amazon Simple Storage Service 用户指南中的存储桶命名规则

  4. (可选)更改模板的任何其他参数:

    • GlobalResourcePrefix - 从此模板创建的全局资源(如 IAM 角色)名称的前缀。

    • LocalResourcePrefix - 在当前区域中从此模板创建的资源的名称前缀。

    注意

    如果您多次创建此模板,则要更改存储桶名称和资源前缀参数,以避免资源名称冲突。

  5. 选择 Next(下一步)。

  6. 配置堆栈选项 页面上,请选择 下一步

  7. 在页面底部,选中显示我确认, Amazon CloudFormation 可能会创建 IAM 资源的复选框。

  8. 选择创建堆栈

    堆栈需要几分钟的时间来创建。如果堆栈创建失败,则您的账户可能没有足够的权限,或者您可能输入了已存在的存储桶名称。使用以下步骤删除堆栈并重试:

    1. 选择右上角的 删除

      删除堆栈需要几分钟时间。

      注意

      Amazon CloudFormation 不会删除 S3 存储桶或 CloudWatch 日志组。您可以在相应服务的控制台中删除这些资源。

    2. 如果无法删除堆栈,请再次选择删除

    3. 如果无法再次删除堆栈,请按照 Amazon CloudFormation 控制台中的步骤跳过删除失败的资源,然后重试。

  9. 成功创建 Amazon CloudFormation 堆栈后,请按照以下步骤在 Amazon S3 中浏览您的资产属性数据。

重要

创建堆栈后,您可以看到 Amazon 账户中的新资源。如果您删除或修改这些资源,该功能可能会停止正常工作。我们建议,除非您希望停止向存储桶发送数据或要自定义此功能,否则不要修改这些资源。

查看 Amazon S3 中的数据

创建功能后,您可以在 Amazon S3 中查看资产属性数据和资产元数据。

注意

资产元数据每 6 小时更新一次。您可能需要等待最多 6 小时才能看到资产元数据显示在 S3 存储桶中。

此功能将资产属性数据存储在以下列中,每行都包含一个数据点:

  • type - 属性通知的类型 (PropertyValueUpdate)。

  • asset_id - 接收数据点的资产的 ID。

  • asset_property_id - 接收资产数据点的属性的 ID。

  • time_in_seconds - 接收数据的时间,以 Unix 纪元时间(以秒为单位)表示。

  • offset_in_nanos - 与 timeInSeconds 的纳秒偏移量。

  • asset_property_quality - 数据点的质量:GOODUNCERTAINBAD

  • asset_property_value - 数据点的值。

  • asset_property_data_type - 资产属性的数据类型:booleandoubleintegerstring

此功能将资产元数据存储在以下列中,每行都包含一个资产属性:

  • asset_id - 资产的 ID。

  • asset_name - 资产的名称。

  • asset_model_id - 资产的模型的 ID。

  • asset_property_id - 资产属性的 ID。

  • asset_property_name - 资产属性的名称。

  • asset_property_data_type - 资产属性的数据类型:BOOLEANDOUBLEINTEGERSTRING

  • asset_property_unit - 资产属性的单位。

  • asset_property_alias - 资产属性的别名。

在 Amazon S3 中查看您的 Amazon IoT SiteWise 数据
  1. 导航到 Amazon S3 控制台

  2. 从存储桶的列表中,选择具有您在创建模板时所选名称的存储桶。

  3. 在存储桶中,选择以下文件夹之一:

    • asset-property-updates— 此文件夹包含从中导出的资产属性数据 Amazon IoT SiteWise。

    • asset-metadata— 此文件夹包含从中导出的资产详细信息 Amazon IoT SiteWise。

  4. 选择要查看的对象。

  5. 在对象页面上,执行以下操作:

    1. 选择选择范围选项卡。

      在此面板中,您可以预览 Parquet 文件中的记录。

    2. 对于文件格式,选择 Parquet

    3. 选择显示文件预览以 JSON 格式显示文件的内容。

注意

如果新数据未显示在存储桶中,请检查您是否为资产属性启用了属性值更新通知。有关更多信息,请参阅与其他 Amazon 服务交互

有关如何分析存储在 S3 存储桶中的资产数据的更多信息,请参阅使用 Amazon Athena 分析导出的数据