是否可以在标准dateFrom
dateTo
查询之外汇总度量或创建自定义查询?
例如,我的测量时间差为1分钟(2015-01-01T05:05:00,2015-01-01T05:05:00,2015-01-01T05:05:00 ,. ..)我想以15分钟的间隔查询测量结果(2015-01-01T05:15:00,2015-01-01T05:30:00,2015-01-01T05:45:00,...)
到目前为止,我只提出了这些解决方案:
https://tenant.cumulocity.com/measurement/measurements?dateFrom=2015-10-01&dateTo=2015-11-05
然后扔掉大部分数据将花费大量时间加载数据。https://tenant.cumulocity.com/measurement/measurements?dateFrom=2015-11-05T05:15:00%2B01:00&dateTo=2015-11-05T05:16:00%2B01:00
这将涉及大量的API请求,而且看起来效率也不高。/measurements/series
端点,它只会给我所有系列,甚至是那些我不想要的系列,以及每小时和每天都有聚合选项(据我所知)。 有更好的方法吗?
答案 0 :(得分:1)
您已捕获了几乎所有当前可用的机制。还有一种可能性 - 不确定这是否适合您:
我通常会使用2.它实际上非常有效,它类似于传统SQL中的物化视图,而且您可以在任何地方和所有小部件中使用数据。
祝你好运: - )干杯, 安德烈
答案 1 :(得分:1)
我更喜欢CEP解决方案。规则不会那么复杂。您当然会将这些测量值存储两次,这不是那么好但是使用特定类型或片段进行所需的测量将为您提供最快的查询方式。
您可以在CEP规则中每15分钟为测量添加一个特殊片段,而不是复制测量值。您无法更新测量值,因此您必须每15分钟删除一次测量值,然后创建一个具有完全相同值的新测量值,但添加一个fragement(例如" aggregatedMeasurement":{})。
第3点的另一个想法是:
您可以使用SmartREST创建包含查询字符串的模板,并将dateFrom和dateTo保留为占位符。 从客户端,您必须使用SmartREST中的填充功能只发出一个请求。 在服务器端,这仍将转换为单个请求,因此您无法获得任何速度。