【问题标题】:CEP List as single items (iterate over managed obejects)CEP 列表作为单个项目(迭代托管对象)
【发布时间】:2018-06-04 16:08:22
【问题描述】:

在 CEP 中,我可以将托管对象作为列表获取,例如使用函数“...ManagedObjectByType”。得到列表后,我使用 AllOf 函数对列表进行过滤。现在,我想将列表中的每个受管对象放入一个新流({A,B,C} -> A,B,C),因此它们彼此分离,以便生成例如警报下一阶段。不幸的是,我不知道如何从列表中生成单个事件(托管对象)。有人可以帮忙吗?

最好, 妮可

【问题讨论】:

    标签: complex-event-processing cumulocity


    【解决方案1】:

    你可以这样做:

    create schema Device as ManagedObject;
    
    create schema CollectedDevices(
        devices List
    );
    
    create schema SingleDevice(
        device Device
    );
    
    insert into CollectedDevices
    select
        findAllManagedObjectByFragmentType("c8y_IsDevice") as devices
    from pattern[timer:interval(10 seconds)];
    
    insert into SingleDevice
    select
        singleDevice as device
    from 
        CollectedDevices as devices unidirectional,
        CollectedDevices[devices@type(Device)] as singleDevice;
    

    然后将为列表中的每个元素触发最后一条语句。

    您可以在此处找到连接的 esper 文档: http://esper.espertech.com/release-5.4.0/esper-reference/html/epl_clauses.html#epl-join

    【讨论】:

    • 谢谢.. 我不知道包含事件选择。这很有帮助。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多