本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
使用 Amazon IoT SiteWise API 提取数据
您可以使用 Amazon IoT SiteWise API 将时间戳工业数据发送到资产的特征和测量值属性。API 接受包含以下内容的有效负载 timestamp-quality-value(TQV) 结构。
使用 BatchPutAssetPropertyValue 操作上传数据。通过此操作,您可以一次上传多个数据条目,以便您可以从多个设备收集数据并在单个请求中全部发送。
这些区域有:BatchPutAssetPropertyValue操作受限于每个请求的条目数量和每个条目的 TQV 数据点数量的配额。Amazon IoT SiteWise还将拒绝标有过去 7 天以上或将来超过 10 分钟的时间戳的任何数据。有关这些配额的详细信息,请参阅BatchPutAssetPropertyValue中的Amazon IoT SiteWiseAPI 参考.
要标识资产属性,可以指定以下项之一:
-
这些区域有:
assetId和propertyId,这是您要将数据发送到的资产属性的值。 -
这些区域有:
propertyAlias,这是一个数据流别名(例如,/company/windfarm/3/turbine/7/temperature)。要使用此选项,您必须首先设置资产属性的别名。要了解如何设置属性别名,请参阅将工业数据流映射到资产属性。
以下示例演示了如何从存储在 JSON 文件中的负载发送风力涡轮机的温度和每分钟转数 (RPM) 读数。
aws iotsitewise batch-put-asset-property-value --cli-input-json file://batch-put-payload.json
batch-put-payload.json 中的示例负载包含以下内容。
{ "entries": [ { "entryId": "unique entry ID", "propertyAlias": "/company/windfarm/3/turbine/7/temperature", "propertyValues": [ { "value": { "integerValue": 38 }, "timestamp": { "timeInSeconds": 1575691200 } } ] }, { "entryId": "unique entry ID", "propertyAlias": "/company/windfarm/3/turbine/7/rpm", "propertyValues": [ { "value": { "doubleValue": 15.09 }, "timestamp": { "timeInSeconds": 1575691200 }, "quality": "GOOD" } ] } ] }
负载中的每个条目都包含一个 entryId,您可以将其定义为任何唯一的字符串。如果任何请求条目失败,则每个错误都将包含相应请求的 entryId,以便您知道要重试的请求。
列表中的每个结构propertyValues是一个 timestamp-quality-value (TQV) 结构,其中包含value,atimestamp,也可以选择一个quality.
-
value— 包含下列字段之一的结构,具体取决于要设置的属性的类型:-
booleanValue -
doubleValue -
integerValue -
stringValue
-
-
timestamp— 包含当前 Unix 纪元时间(以秒为单位)的结构,timeInSeconds. 您也可以设置offsetInNanos键入timestamp如果你有时间上精确的数据,则为结构。Amazon IoT SiteWise拒绝时间戳早于过去 7 天或晚于以后 10 分钟的任何数据future。 -
quality—(可选)以下质量字符串之一:-
GOOD—(默认)数据不受任何问题的影响。 -
BAD— 数据受传感器故障等问题的影响。 -
UNCERTAIN— 数据受传感器不准确等问题的影响。
有关 Amazon IoT SiteWise 如何在计算中处理数据质量的详细信息,请参阅公式表达式中的数据质量。
-