1

使用 perseo cep,我为它设置了一个规则。我在 Perseo 的 End 日志中收到此消息:http://perseo-core:8080/perseo-core/rules返回 {"code":200,"body":{}}。然后当我修改一个属性时,在 Perseo Core 的日志中我看到这条消息:msg=Firing Rule: MapEventBean. 到目前为止,一切都很好,但是在 Perseo FE 的日志中,我再次收到消息:msg=missing subservice header msg=missing service header,它没有更新我的实体。

这是日志:time=2019-05-11T14:30:48.774Z | lvl=信息 | 更正=不适用 | 反式=不适用 | 操作=检查请求 | comp=perseo-fe | srv=n/a | subsrv=n/a | msg=缺少子服务标头时间=2019-05-11T14:30:48.774Z | lvl=信息 | 更正=不适用 | 反式=不适用 | 操作=检查请求 | comp=perseo-fe | srv=n/a | subsrv=n/a | msg=缺少服务标头时间=2019-05-11T14:30:48.774Z | lvl=信息 | corr=5229c32c-362a-43f6-acda-11d6d8198261;perseocep = 21 | 反式=5229c32c-362a-43f6-acda-11d6d8198261 | 操作=/版本 | 路径=/版本 | comp=perseo-fe | srv=未知| 订阅服务器=/ | 从=::1 | msg=incoming request {"method":"GET","url":"/version","headers":{"host":"localhost:9090","user-agent":"curl/7.52.1" “接受”:“ /"},"body":{},"subservice":"/","service":"unknownt"} 时间=2019-05-11T14:30:48.774Z | lvl=INFO | corr=5229c32c-362a-43f6 -acda-11d6d8198261; perseocep=21 | trans=5229c32c-362a-43f6-acda-11d6d8198261 | op=/version | path=/version | comp=perseo-fe | srv=unknownt | subsrv=/ | from=::1 | 消息=发送

米规则:

{ "name": "pruebaUpdate", "text": "select ev.temperature? 作为温度,ev.id? 作为 id,\"pruebaUpdate\" 作为模式 [every ev=iotEvent(cast(cast(temperature? ,String),float) > 45 and type=\"AirQualityObserved\")]", "action": [{ "type": "update", "parameters": { "id":"${id}", "type":"AirQualityObserved", "version": "2", "attributes":[ { "name": "abnormal", "type": "boolean", "value": "true" } } }] }

当其他属性高于某个值时,我想更新一个属性,该属性在某些实体中,但不在同一类型的其他实体中。我不会更新该属性。

4

2 回答 2

0

msg=missing subservice header, msg=missing service header通常意味着传入的请求没有基于多租户的fiware-servicefiware-servicepathHTTP 标头。此处描述了 FIWARE 多租户模型。

于 2019-05-22T13:35:47.460 回答
0

将规则放在正确的位置我没有收到“缺少服务子服务”的错误。我使用http://perseo-fe-ip:9090/rules注册了规则并解决了问题。

于 2019-05-23T06:48:24.637 回答