"object" 属性类型的 Siddhi 支持哪种对象?

Which kind of objects are supported by Siddhi for the "object" attribute type?

我正在对使用 Siddhi 作为 CEP 引擎的原型进行一些实验,想知道输入流是否仅支持平面事件数据,或者也可以支持类似 JSON 的查询数据层次结构.

Siddhi's documentation 指的是属性的 object 类型,但我在任何地方都找不到这种类型指的是什么。

the code samples provided in the source repository中也从未使用过此属性类型。

扩展这些示例中编写的查询之一,我希望能够执行如下操作:

String executionPlan = ""
    + "define stream cseEventStream (symbol string, price float, volume long, data object); "
    + " "
    + "@info(name = 'query1') "
    + "from cseEventStream[volume < 150 and data.myKey == 'myValue'] "
    + "select symbol,price "
    + "insert into outputStream ;";

Siddhi 是否支持任何类型的 JSON 类数据?如果是,应该将哪些 Java 对象类型传递给 InputHandler ?

它接受 java.lang.Object 个实例。所以你可以在那里传递任何 java 对象。但是这些对象只是传递(Siddhi 引擎只是将它们与事件一起传递)并且除非您编写一些自定义扩展,否则您将无法对这些对象执行任何 modifications/processing 操作。

如果要处理 json 输入,请使用 WSO2 CEP 产品。您将能够定义映射并将 json 输入反汇编为 Siddhi 引擎可以处理的一些原始类型,如字符串、整数、浮点数等。

在新的 siddhi 4.x 中,一切都是对 siddhi 的扩展。它有一组 mapper 扩展,即使您将 siddhi 用作库也可以使用。使用源扩展和映射器扩展,您将不必编写自己的代码来接收和映射数据。

最新的 WSO2 analytics 产品,WSO2 SP 是基于 Siddhi 4.x