本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
在中查询资产属性聚合 AWS IoT SiteWise
AWS IoT SiteWise 自动计算聚合的资产属性值,这些值是在多个时间间隔内计算出来的一组基本指标。 AWS IoT SiteWise 每分钟、每小时和每天计算您的资产属性的以下聚合:
-
平均值 – 属性在一个时间间隔内的平均值。
-
计数 – 属性在一个时间间隔内的数据点数。
-
最大值 – 属性在一个时间间隔内的最大值。
-
最小值 – 属性在一个时间间隔内的最小值。
-
标准偏差 – 属性值在一个时间间隔内的标准偏差。
-
总和 – 属性值在一个时间间隔内的总和。
对于非数字属性,例如字符串和布尔值,仅 AWS IoT SiteWise 计算计数聚合。
您还可以计算资产数据的自定义指标。借助指标属性,定义特定于操作的聚合。指标属性提供了额外的聚合函数和时间间隔,这些函数和时间间隔不是为 AWS IoT SiteWise API 预先计算的。有关更多信息,请参阅 聚合来自属性和其他资产(指标)的数据。
资产属性的聚合(API)
使用 AWS IoT SiteWise API 获取资产属性的聚合。
使用GetAssetPropertyAggregates操作来查询资产属性的聚合。
要标识资产属性,请指定以下项之一:
-
向其发送数据的资产属性的
assetId和propertyId。 -
propertyAlias,这是一个数据流别名(例如,/company/windfarm/3/turbine/7/temperature)。要使用此选项,您必须首先设置资产属性的别名。要设置属性别名,请参阅管理数据流 AWS IoT SiteWise。
您必须传递以下必需参数:
-
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操作返回的 TQV 格式与本节中描述的其他操作不同。value 结构包含请求中每个 aggregateTypes 的字段。timestamp 包含聚合发生的时间,以 Unix 纪元时间表示(以秒为单位)。
资产属性的聚合(AWS CLI)
要查询资产属性的聚合(AWS CLI),请执行以下步骤:
-
运行以下命令以获取资产属性的聚合。此命令会查询特定 1 小时间隔内的平均值和总和(采用 1 小时分辨率)。
asset-id替换为资产 IDproperty-id和属性 ID。将参数替换为要查询的聚合和时间间隔。aws iotsitewise get-asset-property-aggregates \ --asset-idasset-id\ --property-idproperty-id\ --start-date1575216000\ --end-date1575219600\ --aggregate-typesAVERAGE SUM\ --resolution1h该操作返回的响应包含以下格式 TQVs 的属性的历史记录。响应中仅包括请求的聚合。
{ "aggregatedValues": [ { "timestamp":Number, "quality": "String", "value": { "average":Number, "count":Number, "maximum":Number, "minimum":Number, "standardDeviation":Number, "sum":Number} } ], "nextToken": "String" } -
如果存在更多值条目,则可以将分页令牌从
nextToken字段传递给后续的GetAssetPropertyAggregates操作调用。
注意
如果您的查询范围包含null值 TQVs,请参阅 AssetPropertyValueAPI。除计数之外的所有统计信息都会产生null响应,类似于 String 的统计信息 TQVs。如果您的查询范围包含双精Double.NaN度类型 TQVs,则除 count 之外的所有计算都将得出Double.NaN。