我在fi-lab上创建了一个新的Orion实例,以将其也连接到我们管理的CEP实例。数据将存储在我的Orion实例上,必须由orion.lab.fi-ware.eu:1026上存在的Orion实例提供

为了使数据在新的Orion实例中可用,将订阅请求发送到“主要” Orion实例。此订阅是ONCHANGE订阅,并且使用适当的标头令牌向URL http://orion.lab.fi-ware.eu:1026/NGSI10/subscribeContext发出请求

请求内容如下:

{ "entities": [ { "type": "location:mytype", "isPattern": "false", "id": "x:y:z" } ], "attributes": [], "reference": "http://a.b.c.d:1026/", "duration": "P1M", "notifyConditions": [ { "type": "ONCHANGE", "condValues": [ "TimeInstant" ] } ]}

当我发出此请求时,响应为:

<subscribeContextResponse> <subscribeResponse> <subscriptionId>53d7473d1860a3cb2359ff11</subscriptionId> <duration>P1M</duration> </subscribeResponse></subscribeContextResponse>

但是,当我从原始上下文代理中的实体“ x:y:z”更新属性“ TimeInstant”时,我的Orion实例中的相似实体没有任何更改。因此,从原始Orion到我的Orion没有更新请求。

我仅通过将URL引用属性从请求更改为接收事件的CEP URL,就完成了从Orion Context Broker实例到Proton引擎的ONCHANGE订阅。

CB实体与安全组一起使用,该安全组允许从22、8080和1026端口进行访问。

我认为问题出在URL引用属性中,我也尝试了a.b.c.d:1026 / NGSI10 / updateContext,但我遇到了同样的问题。

有人可以给我关于我的问题的任何想法吗?

最佳答案

基于federation section in the Orion User Manual


请注意,参考中使用的URL必须是
“ / v1 / notifyContext”。


因此,我认为使用"reference": "http://a.b.c.d:1026/v1/notifyContext"可以解决问题。

关于fiware-orion - 从Orion Context Broker订阅到另一个Orion Context Broker无效,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/25010070/

10-13 09:00