我试图为这样的情况编写一个查询:“如果您看到值10,而在接下来的10秒钟内看不到值20,则触发警报”,但是无法使语法工作。根据这的请求,这个功能是一年前实现的。我对查询的尝试是:
define stream inStream(value int);
from every s1=inStream[value == 10]
-> not s2=inStream[value == 20] for 10 sec
select s2.value
insert into outStream查看Siddhi项目中的语法文件--这看起来应该是一个有效的查询,但是当我尝试运行它时,我会得到“SiddhiQL中的语法错误,在输入时没有可行的替代方法”。我正在使用siddhi-core 4.2.18运行这个程序。我的语法是否不正确,还是有不同的问题?
发布于 2018-09-14 20:08:25
从缺勤模式PR的创建者那里找到了解决我在教程网站的问题的方法。问题是我的语法,缺勤模式的流不能命名。因此,将查询更改为
define stream inStream(value int);
from every s1=inStream[value == 10]
-> not inStream[value == 20] for 10 sec
select s1.value
insert into outStream让它完美地运作。
https://stackoverflow.com/questions/52321719
复制相似问题