在 CEP 引擎中,我试图做一个像
from s1 = SensorStream[level == 'A'] **NOT** -> s2 = SensorStream[level == 'B'] within 10 sec
select s1.id as id1, s2.id as id2 insert into AlertStream
我找到了这个链接,但我所拥有的不是一个范围......
任何想法?
谢谢!
在 CEP 引擎中,我试图做一个像
from s1 = SensorStream[level == 'A'] **NOT** -> s2 = SensorStream[level == 'B'] within 10 sec
select s1.id as id1, s2.id as id2 insert into AlertStream
我找到了这个链接,但我所拥有的不是一个范围......
任何想法?
谢谢!
玛塔,
你不能使用下面的方法。那是你想要达到的吗?
从 s1 = SensorStream[level != 'A'] -> s2 = SensorStream[level == 'B'] 在 10 秒内
选择 s1.id 作为 id1,将 s2.id 作为 id2 插入到 AlertStream
此功能已通过PR#483添加到 Siddhi 4.0(目前正在开发中) 。根据此实现,您的要求可以使用以下查询来实现:
from s1 = SensorStream[level == 'A'] -> not SensorStream[level == 'B'] for 10 sec
select s1.id as id
insert into AlertStream;
请注意,not 模式不能有流引用s2
,因为您无法选择未到达事件的 id。
如果您想尝试 Siddhi 抢先体验,请按照本教程中的说明进行操作:Siddhi 4.0.0 Early Access
有关更多示例,请查看测试用例。