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

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

聚合来自属性和其他资产的数据(指标)

指标是数学表达式,该表达式使用聚合函数处理所有输入数据点并按指定的时间内输出单个数据点。例如,指标可以从温度数据流计算每小时平均温度。

指标可以从关联资产的指标中输入数据,这样您可以计算统计信息,从而提供对整个操作或部分操作的见解。例如,指标可以计算风电场中所有风力涡轮机的每小时平均温度。有关如何定义资产之间的关联的更多信息,请参阅定义资产模型(层次结构)之间的关系

指标还可以输入来自其他属性的数据,而无需聚合每个时间间隔内的数据。如果您在公式中指定了属性,则在计算公式时Amazon IoT SiteWise使用该属性的最新值。如果您在公式中指定指标,则Amazon IoT SiteWise使用计算公式的时间间隔的最后一个值。这意味着您可以定义指标OEE = Availability * Quality * Performance,例如,其中AvailabilityQuality、和Performance是同一资产模型上的所有其他指标。

Amazon IoT SiteWise 还会自动为所有资产属性计算一组基本聚合指标。要降低计算成本,您可以使用这些聚合,而不是为基本计算定义自定义指标。有关更多信息,请参阅查询资产属性聚合

定义指标(控制台)

在 Amazon IoT SiteWise 控制台中为资产模型定义指标时,请指定以下参数:

  • 名称-属性的名称。

  • 公式-指标表达式。指标表达式可以使用聚合函数从层次结构中所有关联资产的属性中输入数据。开始键入或按向下箭头键打开自动完成功能。有关更多信息,请参阅使用公式表达式

    重要

    指标只能是整数、双精度、布尔值或字符串类型的属性。布尔值转换为0(假)和1(真)。

    如果您在指标表达式中定义任何指标输入变量,这些输入必须与输出指标具有同一个时间间隔。

    公式表达式只能输出双精度值或字符串值。嵌套表达式可以输出其他数据类型,例如字符串,但整个公式的计算结果必须为数字或字符串。您可以使用 jp 函数将字符串转换为数字。布尔值必须为 1(真)或 0(假)。有关更多信息,请参阅未定义值、无限值和溢出值

  • 数据类型-转换的数据类型,可以是精度或字符串

  • 时间间隔-指标时间间隔。 Amazon IoT SiteWise支持以下滚动窗口时间间隔,其中每个间隔从前一个间隔结束时开始:

    • 1 分钟1 分钟,在每分钟结束时计算(上午 12:00:00、上午 12:01:00、上午 12:02:00 等)。

    • 5 分钟5 分钟,从一小时(上午 12:00:00、上午 12:05:00、上午 12:10:00 等)开始每五分钟结束时计算一次。

    • 15 分钟15 分钟,从一小时(上午 12:00:00、上午 12:15:00、上午 12:30:00 等)开始每十五分钟结束时计算一次。

    • 1 小时1 小时(60 分钟),在 UTC 中每小时结束时计算(上午 12:00:00、上午 01:00:00、上午 02:00:00 等)。

    • 1 天1 天(24 小时),在 UTC 中每天结束时计算(星期一上午 12:00:00,星期二上午 12:00:00,依此类推)。

    • 1 周1 周(7 天),在 UTC 的每个星期日结束时计算(每周一上午 12:00:00)。

    • 自定义间隔-您可以输入一分钟到一周之间的任何时间间隔。

  • 偏移日期-(可选)聚合数据的参考日期。

  • 偏移时间 —(可选)聚合数据的参考时间。偏移时间必须介于 00:00:00 和 23:59:59 之间。

  • 偏移时区-(可选)偏移量的时区。如果未指定,则默认偏移时区是通用协调时间 (UTC)。

    • (UTC+ 00:00) 世界协调时间

    • (UTC+ 01:00) 欧洲中部时间

    • (UTC+ 02:00) 东欧

    • (UTC03+:00) 东非时间

    • (UTC+ 04:00) 近东时间

    • (UTC+ 05:00) 巴基斯坦拉合尔时间

    • (UTC+ 05:30) 印度标准时间

    • (UTC+ 06:00) 孟加拉国标准时间

    • (UTC+ 07:00) 越南标准时间

    • (UTC+ 08:00) 中国台北时间

    • (UTC+ 09:00) 日本标准时间

    • (UTC+ 09:30) 澳大利亚中部时间

    • (UTC+ 10:00) 澳大利亚东部时间

    • (UTC+ 11:00) 所罗门标准时间

    • (UTC+ 12:00) 新西兰标准时间

    • (UTC-11:00) 中途岛时间

    • (UTC-10:00) 夏威夷标准时间

    • (UTC-09:00) 阿拉斯加标准时间

    • (UTC-08:00) 太平洋标准时间

    • (UTC-07:00) 凤凰城标准时间

    • (UTC-06:00) 中部标准时间

    • (UTC-05:00) 东部标准时间

    • (UTC-04:00) 波多黎各和美属维尔京群岛时间

    • (UTC-03:00) 阿根廷标准时间

    • (UTC-02:00) 南乔治亚时间

    • (UTC-01:00) 中非时间

例 带偏移量的自定义时间间隔(控制台)

以下示例显示如何在 2021 年 2 月 20 日下午 6:30:30(太平洋标准时间)定义具有偏移量的 12 小时时间间隔。

使用偏移,定义自定义间隔
  1. 对于时间间隔,选择自定义间隔

  2. 对于 “时间间隔”,执行以下操作之一:

    • 输入12,然后选择工

    • 输入720,然后选择分钟

    • 输入43200,然后选择

    重要

    无论单位如何,时间间隔都必须是整数。

  3. 对于偏移日期,选择 2021/02/20

  4. 对于偏移时间,输入18:30:30

  5. 对于偏移时区,选择 (UTC-08:00) 太平洋标准时间

如果您在 2021 年 7 月 1 日下午 06:30:30(太平洋标准时间)之前或下午 06:30:30 创建指标,则在 2021 年 7 月 1 日下午 06:30:30(太平洋标准时间)获得第一个聚合结果,第二个聚合结果将在 2021 年 7 月 2 日上午 06:30:30(太平洋标准时间),依此类推。

例 指标定义示例

以下示例演示一个指标属性,该属性可聚合资产的温度数据以计算每小时最高温度。


                Amazon IoT SiteWise“创建模型” 页面屏幕截图,其中突出显示了示例指标的参数。
例 输入关联资产数据的指标定义示例

以下示例演示了一个指标属性,该属性汇总了多个风力涡轮机的平均功率数据,以计算风力发电场的总平均功率。


                Amazon IoT SiteWise“创建模型” 页面屏幕截图,其中突出显示了示例指标的参数。

定义指标 (CLI)

使用 Amazon IoT SiteWise API 为资产模型定义指标时,请指定以下参数:

  • name— 属性的名称。

  • dataType— 指标的数据类型,可以是DOUBLESTRING

  • expression— 指标表达式。指标表达式可以使用聚合函数从层次结构中所有关联资产的属性中输入数据。有关更多信息,请参阅使用公式表达式

  • window— 指标滚动窗口的时间间隔和偏移量,其中每个间隔从前一个间隔结束时开始:

    • interval— 滚窗口的时间间隔。时间间隔必须在一分钟到一周之间。

    • offsets— 滚窗口的偏移。

    有关更多信息,请参阅《Amazon IoT SiteWise API 参考》中的 TumblingWindow

    例 带偏移量的自定义时间间隔 (Amazon CLI)

    以下示例显示如何在 2021 年 2 月 20 日下午 06:30:30(太平洋标准时间)定义具有偏移量的 12 小时时间间隔。

    { "window": { "tumbling": { "interval": "12h", "offset": " 2021-07-23T18:30:30-08" } } }

    如果您在 2021 年 7 月 1 日下午 06:30:30(太平洋标准时间)之前或下午 06:30:30 创建指标,则在 2021 年 7 月 1 日下午 06:30:30(太平洋标准时间)获得第一个聚合结果,第二个聚合结果将在 2021 年 7 月 2 日上午 06:30:30(太平洋标准时间),依此类推。

  • variables— 变量列表,用于定义要在表达式中使用的资产或子资产的其他属性。每个变量结构包含一个在表达式中使用的简单名称,以及一个指定哪个属性与该变量关联的 value 结构。value 结构包含以下信息:

    • propertyId— 要从中提取值的属性的 ID。如果属性是在当前模型中定义的(而不是在层次结构的模型中定义的),您可以使用属性的名称而不是其 ID。

    • hierarchyId—(可选)层次结构的 ID,用于从中查询属性的子资产。您可以使用层次结构定义的名称而不是其 ID。如果忽略该值,Amazon IoT SiteWise 将在当前模型中查找属性。

    重要

    指标只能是整数、双精度、布尔值或字符串类型的属性。布尔值转换为0(假)和1(真)。

    如果您在指标表达式中定义任何指标输入变量,这些输入必须与输出指标具有同一个时间间隔。

    公式表达式只能输出双精度值或字符串值。嵌套表达式可以输出其他数据类型,例如字符串,但整个公式的计算结果必须为数字或字符串。您可以使用 jp 函数将字符串转换为数字。布尔值必须为 1(真)或 0(假)。有关更多信息,请参阅未定义值、无限值和溢出值

  • unit—(可选)属性的科学单位,例如 mm 或摄氏度。

例 指标定义示例

以下示例演示一个指标属性,该属性可聚合资产的温度测量值数据,以计算每小时最高温度(以华氏度为单位)。此对象是包含指标AssetModelProperty的示例。您可以将此对象指定为 CreateAssetModel 请求负载的一部分,以创建指标属性。有关更多信息,请参阅创建资产模型 (CLI)

{ ... "assetModelProperties": [ ... { "name": "Max temperature", "dataType": "DOUBLE", "type": { "metric": { "expression": "max(temp_f)", "variables": [ { "name": "temp_f", "value": { "propertyId": "Temperature F" } } ], "window": { "tumbling": { "interval": "1h" } } } }, "unit": "Fahrenheit" } ], ... }
例 输入关联资产数据的指标定义示例

以下示例演示了一个指标属性,该属性汇总了多个风力涡轮机的平均功率数据,以计算风力发电场的总平均功率。此对象是包含指标AssetModelProperty的示例。您可以将此对象指定为 CreateAssetModel 请求负载的一部分,以创建指标属性。有关更多信息,请参阅创建资产模型 (CLI)

{ ... "assetModelProperties": [ ... { "name": "Total Average Power", "dataType": "DOUBLE", "type": { "metric": { "expression": "avg(power)", "variables": [ { "name": "power", "value": { "propertyId": "a1b2c3d4-5678-90ab-cdef-11111EXAMPLE", "hierarchyId": "Turbine Asset Model" } } ], "window": { "tumbling": { "interval": "5m" } } } }, "unit": "kWh" } ], ... }