查询资产属性值和聚合 - Amazon IoT SiteWise
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

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

查询资产属性值和聚合

您可以使用 Amazon IoT SiteWise API 操作查询资产属性在特定时间间隔内的当前值、历史值和聚合。您可以使用这些功能快速了解详情,或开发与存储在 Amazon IoT SiteWise 资产中的工业数据集成的软件解决方案。

您还可以在 Amazon IoT SiteWise Monitor 中实时浏览您的资产数据。了解如何配置 SiteWise 监控,见使用 Amazon IoT SiteWise Monitor 监控数据.

本节中介绍的操作返回包含时间戳、质量、值 (TQV) 结构的属性值对象。

  • 这些区域有:timestamp包含以秒为单位,偏移量为纳秒的当前 Unix 纪元时间。

  • 这些区域有:quality包含以下表示数据点质量的字符串之一:

    • GOOD— 数据不受任何问题的影响。

    • BAD— 数据受到传感器故障等问题的影响。

    • UNCERTAIN— 数据受到传感器不准确等问题的影响。

  • 这些区域有:value根据属性的类型,包含以下字段之一:

    • booleanValue

    • doubleValue

    • integerValue

    • stringValue

查询当前资产属性值

您可以使用 Amazon IoT SiteWise 控制台或 API 获取资产属性的当前值。

查询资产属性的当前值(控制台)

您可以使用 Amazon IoT SiteWise 控制台查看资产属性的当前值。

获取资产属性的当前值(控制台)
  1. 导航到 Amazon IoT SiteWise 控制台

  2. 在导航窗格中,选择 Assets (资产)

  3. 选择具有要查询的属性的资产。

    提示

    您可以选择箭头图标来展开资产层次结构以查找资产。

    
        Amazon IoT SiteWise“资产” 页面屏幕截图,其中突出显示了资产层次结构。
  4. 选择属性类型对应的选项卡。例如,选择 Measurements (测量值) 可以查看测量值属性的当前值。

    
              Amazon IoT SiteWise“资产” 页面属性选项卡屏幕截图。
  5. 找到要查看的属性。当前值将显示在 Latest value (最新值) 列中。

查询资产属性的当前值 (CLI)

您可以使用 Amazon Command Line Interface (Amazon CLI) 查询资产属性的当前值。

使用GetAssetPropertyValue操作来查询资产属性的当前值。

要标识资产的属性,您可以指定以下资产之一:

  • 这些区域有:assetIdpropertyId您要向其发送数据的资产财产。

  • 这些区域有:propertyAlias,这是一个数据流别名(例如,/company/windfarm/3/turbine/7/temperature)。要使用此选项,您必须首先设置资产属性的别名。要了解如何设置属性别名,请参阅将工业数据流映射到资产属性

获取资产属性的当前值 (CLI)
  • 运行以下命令以获取资产属性的当前值。将 asset-id 替换为资产的 ID,将 property-id 替换为属性的 ID。

    aws iotsitewise get-asset-property-value \ --asset-id asset-id \ --property-id property-id

    此操作将按以下格式返回包含属性当前的 TQV 的响应。

    { "propertyValue": { "value": { "booleanValue": Boolean, "doubleValue": Number, "integerValue": Number, "stringValue": "String" }, "timestamp": { "timeInSeconds": Number, "offsetInNanos": Number }, "quality": "String" } }

查询历史资产属性值

您可以使用 Amazon IoT SiteWise API 获取资产属性的值历史记录。

使用GetAssetPropertyValueHistory操作来查询资产属性的历史值。

要标识资产的属性,您可以指定以下资产之一:

  • 这些区域有:assetIdpropertyId您要向其发送数据的资产财产。

  • 这些区域有:propertyAlias,这是一个数据流别名(例如,/company/windfarm/3/turbine/7/temperature)。要使用此选项,您必须首先设置资产属性的别名。要了解如何设置属性别名,请参阅将工业数据流映射到资产属性

还可以传递以下任何参数来优化结果:

  • startDate— 查询用 Unix 纪元时间表示的 Unix 纪元时间。

  • endDate— 查询用 Unix 纪元时间表示的 Unix 纪元时间表示的 Unix 纪元时间表示的 Unix 纪元时间表示的 Unix 纪元时间

  • maxResults— 在一个请求中返回的最大结果数。默认值为20结果。

  • nextToken— 上次调用此操作返回的分页标记。

  • timeOrdering— 应用于返回值的顺序:ASCENDING要么DESCENDING.

  • qualities— 按以下标准筛选结果的质量:GOOD,BAD,或UNCERTAIN.

查询资产属性的值历史记录 (CLI)
  1. 运行以下命令以获取资产属性的值历史记录。此命令将查询特定 10 分钟间隔内的属性历史记录。将 asset-id 替换为资产的 ID,将 property-id 替换为属性的 ID。将日期参数替换为要查询的时间间隔。

    aws iotsitewise get-asset-property-value-history \ --asset-id asset-id \ --property-id property-id \ --start-date 1575216000 \ --end-date 1575216600

    此操作将按以下格式返回包含属性的历史 TQV 的响应。

    { "assetPropertyValueHistory": [ { "value": { "booleanValue": Boolean, "doubleValue": Number, "integerValue": Number, "stringValue": "String" }, "timestamp": { "timeInSeconds": Number, "offsetInNanos": Number }, "quality": "String" } ], "nextToken": "String" }
  2. 如果存在更多值条目,则可以传递来自的分页标记nextToken字段转到后续调用GetAssetPropertyValueHistory操作。

查询资产属性聚合

Amazon IoT SiteWise 会自动计算聚合的资产属性值,这是一组在多个时间间隔内计算的基本指标。Amazon IoT SiteWise 每分钟、每小时和每天计算一次资产属性的以下聚合:

  • 平均的— 一段时间间隔内属性值的平均值(平均值)。

  • 计数— 某个时间间隔内属性的数据点数量。

  • 最大限度— 某一时间间隔内属性值的最大值。

  • 最小值— 某一时间间隔内属性值的最小值。

  • 标准差— 一段时间间隔内属性值的标准差。

  • 总和— 一段时间间隔内属性的值之和。

对于非数字属性(例如,字符串和布尔值),Amazon IoT SiteWise 仅计算计数聚合。

您还可以计算资产数据的自定义指标。可使用指标属性定义特定于操作的聚合。指标属性提供其他聚合函数和时间间隔,这些值没有针对 Amazon IoT SiteWise API 预先计算。有关更多信息,请参阅 聚合来自属性和其他资产的数据(指标)

您可以使用 Amazon IoT SiteWise API 获取资产属性的聚合。

使用GetAssetPropertyAggregates查询资产属性的聚合操作。

要标识资产的属性,您可以指定以下资产之一:

  • 这些区域有:assetIdpropertyId您要向其发送数据的资产财产。

  • 这些区域有:propertyAlias,这是一个数据流别名(例如,/company/windfarm/3/turbine/7/temperature)。要使用此选项,您必须首先设置资产属性的别名。要了解如何设置属性别名,请参阅将工业数据流映射到资产属性

您还必须传递以下必需参数:

  • aggregateTypes— 要检索的聚合列表。您可以指定 AVERAGECOUNTMAXIMUMMINIMUMSTANDARD_DEVIATIONSUM 中的任何一个。

  • resolution— 检索指标的时间间隔:1m(1 分钟),1h(1 小时),或1d(1 天)。

  • startDate— 查询用 Unix 纪元时间表示的 Unix 纪元时间。

  • endDate— 查询用 Unix 纪元时间表示的 Unix 纪元时间表示的 Unix 纪元时间表示的 Unix 纪元时间表示的 Unix 纪元时间

还可以传递以下任何参数来优化结果:

  • maxResults— 在一个请求中返回的最大结果数。默认值为20结果。

  • nextToken— 上次调用此操作返回的分页标记。

  • timeOrdering— 应用于返回值的顺序:ASCENDING要么DESCENDING.

  • qualities— 按以下标准筛选结果的质量:GOOD,BAD,或UNCERTAIN.

注意

这些区域有:GetAssetPropertyAggregates操作返回 TQV,其格式与本节中描述的其他操作不同。value 结构包含请求中每个 aggregateTypes 的字段。timestamp 包含聚合发生的时间,以 Unix 纪元时间表示(以秒为单位)。

查询资产属性的聚合 (CLI)
  1. 运行以下命令以获取资产属性的聚合。此命令会查询特定 1 小时间隔内的平均值和总和(采用 1 小时分辨率)。将 asset-id 替换为资产的 ID,将 property-id 替换为属性的 ID。将参数替换为要查询的聚合和时间间隔。

    aws iotsitewise get-asset-property-aggregates \ --asset-id asset-id \ --property-id property-id \ --start-date 1575216000 \ --end-date 1575219600 \ --aggregate-types AVERAGE SUM \ --resolution 1h

    此操作将按以下格式返回包含属性的历史 TQV 的响应。响应中仅包括请求的聚合。

    { "aggregatedValues": [ { "timestamp": Number, "quality": "String", "value": { "average": Number, "count": Number, "maximum": Number, "minimum": Number, "standardDeviation": Number, "sum": Number } } ], "nextToken": "String" }
  2. 如果存在更多值条目,则可以传递来自的分页标记nextToken字段转到后续调用GetAssetPropertyAggregates操作。