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