IoT Time Series Service¶
构想¶
IoT Time Series Service 用于创建、读取、更新和删除时间序列数据。时间序列数据基于 asset 和 aspect 进行存储。时间序列记录由时间戳、一个或多个值以及每个 variable 的可选质量指示符组成,该指示符由 aspect 类型定义。在 IoT Time Series Service 中,存储和查询时间序列数据可精确到 1 毫秒。
访问¶
要访问此服务,您需要具有 IoT Time Series Service 角色和范围 中列出的相应角色。
用户只能读取其租户,子租户和已共享 assets 的数据。
先决条件¶
从现场设备中提取时间序列数据¶
必须将已上线 asset 连接到 MindSphere 来生成时间序列数据。必须存在从设备数据点到 asset variables 的有效映射。有关说明,请参见上传代理数据。
从应用中提取时间序列数据¶
必须存在具有相应 variables 的 asset。
基础知识¶
时间序列记录由时间戳、一个或多个值以及每个值的可选质量指示符组成,该指示符由 aspect 类型定义。如果 aspect 中存在多个 variables,它们到达时应该具有相同的有效载荷。如果使用与现有记录相同的 timestamp、asset 和 aspect 写入时间序列记录,则将完全覆盖现有记录。未实施数据的版本控制。
时间戳可精确到毫秒。测量值必须与 aspect 类型中定义的类型相匹配。时间序列数据类型可以是 int
、long
、double
、boolean
、string
、big_string
(blobs) 或 timestamp
。String 和 big string 类型数据的大小上限在 aspect 类型中定义,可以分别设为 255 和 100,000。一个时间序列记录的大小上限是 200,000 字节。数据类型审核:Long、double 和 timestamp 使用八个字节,integer 使用四个字节,string 和 big string 的每个字符使用两个字节,Boolean 使用一个字节。
在 aspect 类型定义中,有一个 qualitycode
字段,用于指示时间序列数据是否要附带质量代码数据。如果 variable(属性)的 qualitycode
值为 true,则质量代码属性的名称与 variable(属性)名称相同,后缀为 _qc
。例如,variable temperature
的质量代码属性将是 temperature_qc
。
可以在对服务的一次调用中写入 asset 和 aspect 的多个记录。通过识别 asset、aspect 和时间范围,可以读取和删除记录。
写入或删除数据时,服务的默认行为是给传入请求排序,并异步执行对底层数据存储的物理写入。如果用户在刚写入时间序列数据后就立即对其进行读取,则可能因为该数据尚未进入数据存储而无法返回。如果用户删除数据后立即读取该时间范围,则数据可能尚未被物理删除而仍然可以在响应中返回。对 asset 的请求将按接收请求的顺序进行处理。
特性¶
IoT Time Series Service 公开其 API 以实现以下任务:
- 读取单个 asset 或 aspect 的时间序列数据
- 读取指定时间范围内的时间序列数据
- 读取最新已上传数据
- 创建单个或多个 aspects 的时间序列数据
- 覆盖现有时间序列数据
- 删除指定时间范围内某个 asset 的单个 aspect 时间序列数据
使用配额和限制¶
删除限制¶
Iot Time Series DELETE
端点受以下限制:
- 时间序列数据只能在提交后7天后删除。
- 删除请求的范围必须按UTC小时对齐。
- 删除请求的范围不能大于7天。
- 每个租户的最大删除请求数是每天1个。
限制¶
- 数据上载的有效负载最大为 1 MB。
- 目前数据上传的最大速度为 100 KB/s。
- Double 最多可以有38位精度,可以是正数、负数或零。
- Double 正数范围 : 1E-130 到 9.9999999999999999999999999999999999999E+125
- Double 负数范围: -9.9999999999999999999999999999999999999E+125 to -1E-130
- 请求按到达顺序处理。因此,最新存储的记录可能不会反映最新的请求。
- 不支持存储空字符串。忽略相关空字段。
- UR L参数 `latestValue 的查询不适用于字符串和时间戳变量。
- 带有 URL 参数
latestValue
的查询不考虑超过1个月或不到2小时前摄入的记录。 - 没有指定时间戳的查询不考虑超过12个月前的记录。
- 每个数据上载请求的最大 aspect 数(一个或多个 assets)为5,最大有效负载大小为100 KB 和 100 条记录。
-
用于在时间戳中包含时区的 '+' 字符必须在时间范围内编码为 '%2B'。例如, 应编码为 2017-09-21T14:08:00%2B02:00 而非 2017-09-21T14:08:00+02:00。
-
对 Europe 2 区域:
- 目前还不支持为 simulation asset 导入作业。
要获取最新的限制列表,请转至发行说明,并选择最新日期。再转至“MindAccess Developer Plan 订户和 MindAccess Operator Plan 订户”,选择您感兴趣的 IoT 服务。
示例场景¶
一台风力涡轮机连接到 MindSphere 上。叶片转动的速度不断变化。传感器对速度进行测量并通过 MindConnect 将数据发送到 MindSphere。
您可以通过 IoT Time Series Service API 写入和读取风轮的速度数据。