答案 0 :(得分:1)
我不是Cepheus Broker的专家,但我在FIWARE生态系统中使用Cepheus CEP和Orion Context Broker有一些经验,也许我会很有用。
根据CEP的官方documentation,您应该在Orion Context Broker之前部署Cepheus Broker。我知道两者都说相同的NGSI API所以它应该是相同的,但我不完全确定。您按此顺序部署这些组件的任何特定原因?
我使用Cepheus Broker和Orion上下文Broker的官方Docker镜像进行了一些实验,通过v1和v2 Orion API创建了上下文订阅。与Cepheus Broker日志相同的错误。
然后我用Fiware研究员制作的this小应用程序证明,您可以用于对NGSI上下文订阅进行重新分配。我尝试使用v1和v2订阅,在v2中使用遗留而没有遗留任何内容,并且任何这些都会产生" updateAction"请求中的字段。然后我意识到据我所知,在NGSI API方法中,接收updateAction参数的唯一服务是updateContext服务。
可能是Cepheus无法通过Context Subscription机制与Orion Context Broker连接。也许他正在等待上下文更新而不是上下文更改通知。
很抱歉没有更多的帮助。
问候!
答案 1 :(得分:1)
您正试图让Orion向Cepheus CEP的cowplot::plot_grid(o1, o2, o3, o4, o5, o6,
ncol = 2, labels = 'AUTO', align = 'v', axis = 'lr')
端点发送notifyContext
请求。这不起作用,因为根据NGSI v1协议,updateContext
请求应在有效负载中包含updateContext
字段。
Cepheus CEP希望订阅的通知能够完成其updateAction
端点。
此外,Cepheus CEP会在正确设置时向Orion发送自己的订阅请求(您必须将Orion声明为CEP配置中的提供者)。它会要求Orion将通知发送回正确的端点。
最后,您无法代表Cepheus CEP进行订阅,就像您尝试做的那样:Cepheus CEP只会接受其自己订阅的通知,因为它会验证收到的所有通知的订阅ID。