本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
使用 Amazon IoT SiteWise API 提取数据
您可以使用 Amazon IoT SiteWise API 将时间戳工业数据发送到资产的特征和测量值属性。API 接受包含 timestamp-quality-value (TQV) 结构的负载。
使用 BatchPutAssetPropertyValue 操作上传数据。通过此操作,您可以一次上传多个数据条目,以便您可以从多个设备收集数据并在单个请求中全部发送。
重要
该BatchPutAssetPropertyValue操作受以下配额的约束:
有关这些配额的更多信息,请参阅 BatchPutAssetPropertyValueAmazon 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) 结构,其中包含 avalue
timestamp
、a 和(可选)quality
。
-
value
— 包含以下字段中的一个结构,具体取决于要设置属性的类型:-
booleanValue
-
doubleValue
-
integerValue
-
stringValue
-
-
timestamp
— 包含当前 Unix 纪元时间(以秒为单位)的结构,timeInSeconds
. 如果您有时间精确的数据,也可以在timestamp
结构中设置offsetInNanos
密钥。 Amazon IoT SiteWise拒绝任何时间戳在过去 7 天或将future 时间戳早于 10 分钟的数据点。 -
quality
—(可选)以下质量字符串之一:-
GOOD
—(默认)数据不受任何问题的影响。 -
BAD
— 数据受到诸如传感器故障之类的问题的影响。 -
UNCERTAIN
— 数据受到诸如传感器不准确之类的问题的影响。
有关 Amazon IoT SiteWise 如何在计算中处理数据质量的详细信息,请参阅公式表达式中的数据质量。
-