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

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

查询资产属性值和聚合

您可以使用 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 “Assets (资产)”页面屏幕截图,其中突出显示了资产层次结构。
  4. 选择属性类型对应的选项卡。例如,选择 Measurements (测量值) 可以查看测量值属性的当前值。

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

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

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

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

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

  • 这些区域有:assetIdpropertyIdAset,这是您要将数据发送到的资产属性的值。

  • 这些区域有: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操作查询资产属性的历史值。

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

  • 这些区域有:assetIdpropertyIdAset,这是您要将数据发送到的资产属性的值。

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

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

  • startDate— 查询历史数据的唯一起点,以 Unix 纪元时间(以秒为单位)表示。

  • endDate— 查询历史数据的范围(以秒为单位)表示,以 Unix 纪元时间(以秒为单位)表示。

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

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

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

  • qualities— 筛选结果的质量分为:GOODBAD,或者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字段的后续调用GetAssetPropertyValueHistoryoperation.

查询资产属性聚合

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

  • 平均的— 属性在一个时间间隔内的平均值。

  • 计数— 属性在一个时间间隔内的数据点数。

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

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

  • 标准偏差— 属性在一个时间间隔内的标准偏差。

  • 总和— 属性在一个时间间隔内的总和。

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

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

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

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

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

  • 这些区域有:assetIdpropertyIdAset,这是您要将数据发送到的资产属性的值。

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

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

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

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

  • startDate— 查询历史数据的唯一起点,以 Unix 纪元时间(以秒为单位)表示。

  • endDate— 查询历史数据的范围(以秒为单位)表示,以 Unix 纪元时间(以秒为单位)表示。

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

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

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

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

  • qualities— 筛选结果的质量分为:GOODBAD,或者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字段的后续调用GetAssetPropertyAggregatesoperation.