问题描述
我们已经使用正式方法在 docker 中部署了一个 Orion Context broker 实例、一个 Cygnus 实例和一个 STH-Comet 实例。我们需要在 MongoDB 聚合中保存一些实体以月、日为分辨率,其他实体以月、日、小时为分辨率,最后,其他实体以月、日、小时、分钟为分辨率。
有没有可能完成这个任务?
非常感谢您。
解决方法
是的,这是可能的。
在 Cygnus 中,您需要配置不同的 STHSink 实例,每个所需的分辨率设置一个。
然后有几个选项可以将 NGSI 通知驱动到相应的 Sink:
一种简单的方法是将不同的水槽源通道接收器关联到每个接收器(每个接收器都有一个给定的端口)。因此,您可以根据订阅中包含的端口存储不同的分辨率。
您还可以使用 NGSI 自定义通知(例如通过修改 Fiware-ServicePath 标头)以及 Cygnus 标头多路复用功能,以便您可以将通知路由到不同的通道接收器
<Agent>.sources.<Source1>.selector.type = multiplexing
<Agent>.sources.<Source1>.selector.header = <someHeader>
<Agent>.sources.<Source1>.selector.mapping.<Value1> = <Channel1>
<Agent>.sources.<Source1>.selector.mapping.<Value2> = <Channel1>
<Channel2>
<Agent>.sources.<Source1>.selector.mapping.<Value3> = <Channel2>