

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

# 在中查询资产属性聚合 AWS IoT SiteWise
<a name="aggregates"></a>

AWS IoT SiteWise 自动计算聚合的资产属性值，这些值是在多个时间间隔内计算出来的一组基本指标。 AWS IoT SiteWise 每分钟、每小时和每天计算您的资产属性的以下聚合：
+ **平均值** – 属性在一个时间间隔内的平均值。
+ **计数** – 属性在一个时间间隔内的数据点数。
+ **最大值** – 属性在一个时间间隔内的最大值。
+ **最小值** – 属性在一个时间间隔内的最小值。
+ **标准偏差** – 属性值在一个时间间隔内的标准偏差。
+ **总和** – 属性值在一个时间间隔内的总和。

对于非数字属性，例如字符串和布尔值，仅 AWS IoT SiteWise 计算计数聚合。

您还可以计算资产数据的自定义指标。借助指标属性，定义特定于操作的聚合。指标属性提供了额外的聚合函数和时间间隔，这些函数和时间间隔不是为 AWS IoT SiteWise API 预先计算的。有关更多信息，请参阅 [聚合来自属性和其他资产（指标）的数据](metrics.md)。

**Topics**
+ [资产属性的聚合（API）](#aggregates-api)
+ [资产属性的聚合（AWS CLI）](#aggregates-cli)

## 资产属性的聚合（API）
<a name="aggregates-api"></a>

使用 AWS IoT SiteWise API 获取资产属性的聚合。

使用[GetAssetPropertyAggregates](https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_GetAssetPropertyAggregates.html)操作来查询资产属性的聚合。

要标识资产属性，请指定以下项之一：
+ 向其发送数据的资产属性的 `assetId` 和 `propertyId`。
+ `propertyAlias`，这是一个数据流别名（例如，`/company/windfarm/3/turbine/7/temperature`）。要使用此选项，您必须首先设置资产属性的别名。要设置属性别名，请参阅[管理数据流 AWS IoT SiteWise](manage-data-streams.md)。

您必须传递以下必需参数：
+ `aggregateTypes` – 要检索的聚合的列表。您可以指定 `AVERAGE`、`COUNT`、`MAXIMUM`、`MINIMUM`、`STANDARD_DEVIATION` 和 `SUM` 中的任何一个。
+ `resolution`— 检索指标的时间间隔：`1m`（1 分钟）、`15m`（15 分钟）、`1h`（1 小时）或`1d`（1 天）。
+ `startDate`— 查询历史数据范围的唯一起始点，以 Unix 纪元时间（以秒为单位）表示。
+ `endDate` – 查询历史数据范围的结束端，以 Unix 纪元时间（以秒为单位）表示。

还可以传递以下任何参数来优化结果：
+ `maxResults` – 一个请求中要返回的最大结果数。默认为 `20` 结果。
+ `nextToken` – 从此操作的上一次调用返回的分页标记。
+ `timeOrdering` – 应用于返回值的顺序：`ASCENDING` 或 `DESCENDING`。
+ `qualities` – 筛选结果的质量分为：`GOOD`、`BAD` 或 `UNCERTAIN`。

**注意**  
该[GetAssetPropertyAggregates](https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_GetAssetPropertyAggregates.html)操作返回的 TQV 格式与本节中描述的其他操作不同。`value` 结构包含请求中每个 `aggregateTypes` 的字段。`timestamp` 包含聚合发生的时间，以 Unix 纪元时间表示（以秒为单位）。

## 资产属性的聚合（AWS CLI）
<a name="aggregates-cli"></a>

**要查询资产属性的聚合（AWS 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
   ```

   该操作返回的响应包含以下格式 TQVs 的属性的历史记录。响应中仅包括请求的聚合。

   ```
   {
     "aggregatedValues": [
       {
         "timestamp": Number,
         "quality": "String",
         "value": {
           "average": Number,
           "count": Number,
           "maximum": Number,
           "minimum": Number,
           "standardDeviation": Number,
           "sum": Number
         }
       }
     ],
     "nextToken": "String"
   }
   ```

1. 如果存在更多值条目，则可以将分页令牌从`nextToken`字段传递给后续的[GetAssetPropertyAggregates](https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_GetAssetPropertyAggregates.html)操作调用。

**注意**  
 如果您的查询范围包含`null`值 TQVs，请参阅 [AssetPropertyValue](https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_AssetPropertyValue.html)API。除计数之外的所有统计信息都会产生`null`响应，类似于 String 的统计信息 TQVs。如果您的查询范围包含双精`Double.NaN`度类型 TQVs，则除 count 之外的所有计算都将得出`Double.NaN`。