CepStream 类

提供用于针对 CEP 事件流编写 LINQ 查询的扩展方法。

继承层次结构

System. . :: . .Object
  Microsoft.ComplexEventProcessing.Linq..::..CepStream

命名空间:  Microsoft.ComplexEventProcessing.Linq
程序集:  Microsoft.ComplexEventProcessing(在 Microsoft.ComplexEventProcessing.dll 中)

语法

public static class CepStream

CepStream 类型公开以下成员。

方法

  名称 说明
公共方法静态成员 AlterEventDuration< (Of < <' (TPayload> ) > > ) 更改输入事件的持续时间。此方法不更改事件的开始时间。
公共方法静态成员 AlterEventLifetime< (Of < <' (TPayload> ) > > ) 修改流中事件的生存期。此方法可能同时更改事件的开始时间和结束时间。
公共方法静态成员 ClipEventDuration< (Of < <' (TSource, TClip> ) > > ) 将 sourceStream 中事件的生存期缩短至由 matchExpression 匹配的 clipStream 中下一个对应事件的开始时间。
公共方法静态成员 CountByStartTimeWindow< (Of < <' (TPayload> ) > > )(CepStream< (Of < <' (TPayload> ) > > ), UInt32) 基于给定的唯一事件开始时间数量,使用默认输出策略将输入流事件分组为事件的窗口。当在不同时间开始的新事件到达时,此窗口将偏移。
公共方法静态成员 CountByStartTimeWindow< (Of < <' (TPayload> ) > > )(CepStream< (Of < <' (TPayload> ) > > ), UInt32, CountWindowOutputPolicy) 基于给定的唯一事件开始时间数量,将输入流时间分组为事件的窗口。当在不同时间开始的新事件到达时,此窗口将偏移。
公共方法静态成员 CountByStartTimeWindow< (Of < <' (TPayload> ) > > )(CepStream< (Of < <' (TPayload> ) > > ), UInt32, WindowInputPolicy, CountWindowOutputPolicy) 基于给定的唯一事件开始时间数量,将输入流事件分组为事件的窗口。当在不同时间开始的新事件到达时,此窗口将偏移。
公共方法静态成员 GroupBy< (Of < <' (TPayload, TGroupingKey> ) > > )(CepStream< (Of < <' (TPayload> ) > > ), Expression< (Of < <' (Func< (Of < <' (TPayload, TGroupingKey> ) > > )> ) > > )) 按照指定的分组键对输入流进行分区。
公共方法静态成员 GroupBy< (Of < <' (TPayload, TGroupingKey, TResult> ) > > )(CepStream< (Of < <' (TPayload> ) > > ), Expression< (Of < <' (Func< (Of < <' (TPayload, TGroupingKey> ) > > )> ) > > ), Expression< (Of < <' (Func< (Of < <' (TPayload, TResult> ) > > )> ) > > )) 根据指定的键选择器函数对源流分组,并使用元素选择器函数对结果投影。
公共方法静态成员 HoppingWindow< (Of < <' (TPayload> ) > > )(CepStream< (Of < <' (TPayload> ) > > ), TimeSpan, TimeSpan) 使用默认输出策略将流转换为窗口流,在该窗口流中,每个成员均为 CepWindow。此窗口根据恒定的窗口大小和跳跃大小时间跨度进行定义。
公共方法静态成员 HoppingWindow< (Of < <' (TPayload> ) > > )(CepStream< (Of < <' (TPayload> ) > > ), TimeSpan, TimeSpan, HoppingWindowOutputPolicy) 将流转换为窗口流,其中,每个成员均为 CepWindow。此窗口根据恒定的窗口大小和跳跃大小时间跨度进行定义。
公共方法静态成员 HoppingWindow< (Of < <' (TPayload> ) > > )(CepStream< (Of < <' (TPayload> ) > > ), TimeSpan, TimeSpan, DateTime) 使用默认输出策略将流转换为窗口流,在该窗口流中,每个成员均为 CepWindow。此窗口根据恒定的窗口大小和跳跃大小时间跨度进行定义。还可以提供对齐时间,作为窗口起点的参考。
公共方法静态成员 HoppingWindow< (Of < <' (TPayload> ) > > )(CepStream< (Of < <' (TPayload> ) > > ), TimeSpan, TimeSpan, WindowInputPolicy, HoppingWindowOutputPolicy) 将流转换为窗口流,其中,每个成员均为 CepWindow。此窗口根据恒定的窗口大小和跳跃大小时间跨度进行定义。还可以提供对齐时间,作为窗口起点的参考。
公共方法静态成员 HoppingWindow< (Of < <' (TPayload> ) > > )(CepStream< (Of < <' (TPayload> ) > > ), TimeSpan, TimeSpan, DateTime, HoppingWindowOutputPolicy) 将流转换为窗口流,其中,每个成员均为 CepWindow。此窗口根据不变的窗口大小和跳跃大小时间跨度进行定义。还可以提供对齐时间,作为窗口起点的参考。
公共方法静态成员 HoppingWindow< (Of < <' (TPayload> ) > > )(CepStream< (Of < <' (TPayload> ) > > ), TimeSpan, TimeSpan, DateTime, WindowInputPolicy, HoppingWindowOutputPolicy) 此窗口根据恒定的窗口大小和跳跃大小时间跨度进行定义。还可以提供对齐时间,作为窗口起点的参考。
公共方法静态成员 IsEmpty< (Of < <' (TPayload> ) > > ) 在查询中用于指示左反半部联接 (LASJ) 的函数。
公共方法静态成员 Join< (Of < <' (TOuter, TInner, TKey, TResult> ) > > ) 根据给定的联接键,将来自外部流的事件与来自内部流的事件相联接。
公共方法静态成员 OrderBy< (Of < <' (TPayload, TOrderKey> ) > > ) 通过 rankSelector 对输入流排序。
公共方法静态成员 OrderByDescending< (Of < <' (TPayload, TOrderKey> ) > > ) 通过 rankSelector 以降序对输入流排序。
公共方法静态成员 Scan< (Of < <' (TInputEvent, TInputPayload, TOutputPayload> ) > > ) 使用用户定义的流运算符扫描输入流。
公共方法静态成员 Select< (Of < <' (TInput, TResult> ) > > )(CepOrderedStream< (Of < <' (TInput> ) > > ), Expression< (Of < <' (Func< (Of < <' (TInput, TResult> ) > > )> ) > > )) 给定某个排序流时,此方法生成可用于排名的排序流。
公共方法静态成员 Select< (Of < <' (TPayload, TResult> ) > > )(CepStream< (Of < <' (TPayload> ) > > ), Expression< (Of < <' (Func< (Of < <' (TPayload, TResult> ) > > )> ) > > )) 使用投影表达式投影输入流中的事件。
公共方法静态成员 Select< (Of < <' (TInput, TResult> ) > > )(CepWindowStream< (Of < <' (CepWindow< (Of < <' (TInput> ) > > )> ) > > ), Expression< (Of < <' (Func< (Of < <' (CepWindow< (Of < <' (TInput> ) > > ), TResult> ) > > )> ) > > )) 基于给定的映射表达式,将窗口流映射到某个流。
公共方法静态成员 Select< (Of < <' (TInput, TOutput> ) > > )(ICepEnumerable< (Of < <' (TInput> ) > > ), Expression< (Of < <' (Func< (Of < <' (TInput, TOutput> ) > > )> ) > > )) 将可枚举的输入流的每个事件投影到新事件。
公共方法静态成员 SelectMany< (Of < <' (TInput, TResult> ) > > )(CepWindowStream< (Of < <' (CepWindow< (Of < <' (TInput> ) > > )> ) > > ), Expression< (Of < <' (Func< (Of < <' (CepWindow< (Of < <' (TInput> ) > > ), CepWindow< (Of < <' (TInput> ) > > )> ) > > )> ) > > ), Expression< (Of < <' (Func< (Of < <' (CepWindow< (Of < <' (TInput> ) > > ), TInput, TResult> ) > > )> ) > > )) 支持通过操作针对窗口流进行排序。
公共方法静态成员 SelectMany< (Of < <' (TInput, TBind, TResult> ) > > )(CepStream< (Of < <' (TInput> ) > > ), Expression< (Of < <' (Func< (Of < <' (CepStream< (Of < <' (TInput> ) > > ), CepStream< (Of < <' (TBind> ) > > )> ) > > )> ) > > ), Expression< (Of < <' (Func< (Of < <' (TInput, TBind, TResult> ) > > )> ) > > )) 生成基于两个输入流的交叉联接的流。
公共方法静态成员 SelectMany< (Of < <' (TInput, TGroupingKey, TBind, TResult> ) > > )(CepGroupingStreams< (Of < <' (TInput, TGroupingKey> ) > > ), Expression< (Of < <' (Func< (Of < <' (CepStream< (Of < <' (TInput> ) > > ), CepStream< (Of < <' (TBind> ) > > )> ) > > )> ) > > ), Expression< (Of < <' (Func< (Of < <' (IKey< (Of < <' (TGroupingKey> ) > > ), TBind, TResult> ) > > )> ) > > )) 支持在组中添加查询逻辑并应用。
公共方法静态成员 SelectMany< (Of < <' (TInput, TGroupingKey, TBind, TResult> ) > > )(CepGroupingStreams< (Of < <' (TInput, TGroupingKey> ) > > ), Expression< (Of < <' (Func< (Of < <' (CepStream< (Of < <' (TInput> ) > > ), CepWindowStream< (Of < <' (TBind> ) > > )> ) > > )> ) > > ), Expression< (Of < <' (Func< (Of < <' (IKey< (Of < <' (TGroupingKey> ) > > ), TBind, TResult> ) > > )> ) > > )) 生成基于两个输入流的交叉联接的流。
公共方法静态成员 ShiftEventTime< (Of < <' (TPayload> ) > > )(CepStream< (Of < <' (TPayload> ) > > ), Expression< (Of < <' (Func< (Of < <' (CepEvent, DateTime> ) > > )> ) > > )) 将事件的开始时间调整为新时间戳而不更改生存期。
公共方法静态成员 ShiftEventTime< (Of < <' (TPayload> ) > > )(CepStream< (Of < <' (TPayload> ) > > ), Expression< (Of < <' (Func< (Of < <' (CepEvent, TimeSpan> ) > > )> ) > > )) 根据指定的时间跨度调整事件的开始时间而不更改生存期。
公共方法静态成员 SnapshotWindow< (Of < <' (TPayload> ) > > )(CepStream< (Of < <' (TPayload> ) > > )) 使用默认输出策略将流转换为窗口流,在该窗口流中,每个成员均为 CepWindow。每个窗口都是由流中最近的事件端点定义的快照窗口。
公共方法静态成员 SnapshotWindow< (Of < <' (TPayload> ) > > )(CepStream< (Of < <' (TPayload> ) > > ), SnapshotWindowOutputPolicy) 将流转换为窗口流,其中,每个成员均为 CepWindow。每个窗口都是由流中最近的事件端点定义的快照窗口。
公共方法静态成员 SnapshotWindow< (Of < <' (TPayload> ) > > )(CepStream< (Of < <' (TPayload> ) > > ), WindowInputPolicy, SnapshotWindowOutputPolicy) 将流转换为窗口流,其中,每个成员均为 CepWindow。每个窗口都是由流中最近的事件端点定义的快照窗口。
公共方法静态成员 Take< (Of < <' (TPayload> ) > > )(CepOrderedStream< (Of < <' (TPayload> ) > > ), UInt32) 在给定排序流的情况下,从每个窗口获取给定数量的事件。
公共方法静态成员 Take< (Of < <' (TInput, TResult> ) > > )(CepOrderedStream< (Of < <' (TInput> ) > > ), UInt32, Expression< (Of < <' (Func< (Of < <' (CepRankedEvent< (Of < <' (TInput> ) > > ), TResult> ) > > )> ) > > )) 从每个窗口获取给定数量的事件并计算给定的表达式。这用于您希望将排名投影到 Take() 的结果的情况。
公共方法静态成员 ThenBy< (Of < <' (TPayload, TOrderKey> ) > > ) 按照 rankSelector 指定的方式,根据另一个 orderKey 对某个排序流进行排序。
公共方法静态成员 ThenByDescending< (Of < <' (TPayload, TOrderKey> ) > > ) 按照 rankSelector 指定的方式,根据另一个 orderKey 对某个排序流进行排序。
公共方法静态成员 ToEdgeEnumerable< (Of < <' (TPayload> ) > > )(CepStream< (Of < <' (TPayload> ) > > )) 将边缘事件的 CepStream 转换为用于实现 IEnumerable 接口的事件接收器。事件的顺序为 FullyOrdered
公共方法静态成员 ToEdgeEnumerable< (Of < <' (TPayload> ) > > )(CepStream< (Of < <' (TPayload> ) > > ), StreamEventOrder) 将具有指定事件顺序的边缘事件的 CepStream 转换为用于实现 IEnumerable 接口的事件接收器。
公共方法静态成员 ToEdgeStream< (Of < <' (TInput, TPayload> ) > > ) 将可枚举的输入流转换为边缘事件流,并提供输入的临时特征。
公共方法静态成员 ToEnumerable< (Of < <' (TPayload> ) > > )(CepStream< (Of < <' (TPayload> ) > > )) 通过删除事件标头和舍弃 CTI 事件,将事件流转换为可枚举的输出。
公共方法静态成员 ToEnumerable< (Of < <' (TPayload> ) > > )(CepStream< (Of < <' (TPayload> ) > > ), StreamEventOrder) 通过删除事件标头和舍弃 CTI 事件,将事件流转换为具有指定事件顺序的可枚举输出。
公共方法静态成员 ToIntervalEnumerable< (Of < <' (TPayload> ) > > )(CepStream< (Of < <' (TPayload> ) > > )) 将间隔事件的 CepStream 转换为用于实现 IEnumerable 接口的事件接收器。事件的顺序为 FullyOrdered
公共方法静态成员 ToIntervalEnumerable< (Of < <' (TPayload> ) > > )(CepStream< (Of < <' (TPayload> ) > > ), StreamEventOrder) 将具有指定事件顺序的间隔事件的 CepStream 转换为用于实现 IEnumerable 接口的事件接收器。
公共方法静态成员 ToIntervalStream< (Of < <' (TInput, TPayload> ) > > ) 将可枚举的输入流转换为间隔事件流,并提供输入的临时特征。
公共方法静态成员 ToPointEnumerable< (Of < <' (TPayload> ) > > )(CepStream< (Of < <' (TPayload> ) > > )) 将点事件的 CepStream 转换为用于实现 IEnumerable 接口的事件接收器。事件的顺序为 FullyOrdered
公共方法静态成员 ToPointEnumerable< (Of < <' (TPayload> ) > > )(CepStream< (Of < <' (TPayload> ) > > ), StreamEventOrder) 将具有指定事件顺序的点事件的 CepStream 转换为用于实现 IEnumerable 接口的事件接收器。
公共方法静态成员 ToPointEventStream< (Of < <' (TPayload> ) > > ) 通过只保留事件开始时间,将输入流中的事件更改为点事件。
公共方法静态成员 ToPointStream< (Of < <' (TInput, TPayload> ) > > )
公共方法静态成员 ToStream< (Of < <' (TPayload> ) > > )(IEnumerable< (Of < <' (EdgeEvent< (Of < <' (TPayload> ) > > )> ) > > ), Application, AdvanceTimeSettings, String)
公共方法静态成员 ToStream< (Of < <' (TPayload> ) > > )(IEnumerable< (Of < <' (IntervalEvent< (Of < <' (TPayload> ) > > )> ) > > ), Application, AdvanceTimeSettings, String)
公共方法静态成员 ToStream< (Of < <' (TPayload> ) > > )(IEnumerable< (Of < <' (PointEvent< (Of < <' (TPayload> ) > > )> ) > > ), Application, AdvanceTimeSettings, String)
公共方法静态成员 TumblingWindow< (Of < <' (TPayload> ) > > )(CepStream< (Of < <' (TPayload> ) > > ), TimeSpan) 使用默认输出策略将流转换为窗口流,在该窗口流中,每个成员均为 CepWindow。翻转窗口是一种特殊的跳跃窗口,其中,窗口大小和跳跃大小相同。
公共方法静态成员 TumblingWindow< (Of < <' (TPayload> ) > > )(CepStream< (Of < <' (TPayload> ) > > ), TimeSpan, HoppingWindowOutputPolicy) 将流转换为窗口流,其中,每个成员均为 CepWindow。翻转窗口是一种特殊的跳跃窗口,其中,窗口大小和跳跃大小相同。
公共方法静态成员 TumblingWindow< (Of < <' (TPayload> ) > > )(CepStream< (Of < <' (TPayload> ) > > ), TimeSpan, DateTime) 使用默认输出策略将流转换为窗口流,在该窗口流中,每个成员均为 CepWindow。翻转窗口是一种特殊的跳跃窗口,其中,窗口大小和跳跃大小相同。还可以提供对齐时间,作为窗口起点的参考。
公共方法静态成员 TumblingWindow< (Of < <' (TPayload> ) > > )(CepStream< (Of < <' (TPayload> ) > > ), TimeSpan, WindowInputPolicy, HoppingWindowOutputPolicy) 将流转换为窗口流,其中,每个成员均为 CepWindow。翻转窗口是一种特殊的跳跃窗口,其中,窗口大小和跳跃大小相同。还可以提供对齐时间,作为窗口起点的参考。
公共方法静态成员 TumblingWindow< (Of < <' (TPayload> ) > > )(CepStream< (Of < <' (TPayload> ) > > ), TimeSpan, DateTime, HoppingWindowOutputPolicy) 将流转换为窗口流,其中,每个成员均为 CepWindow。翻转窗口是一种特殊的跳跃窗口,其中,窗口大小和跳跃大小相同。还可以提供对齐时间,作为窗口起点的参考。
公共方法静态成员 TumblingWindow< (Of < <' (TPayload> ) > > )(CepStream< (Of < <' (TPayload> ) > > ), TimeSpan, DateTime, WindowInputPolicy, HoppingWindowOutputPolicy) 将流转换为窗口流,其中,每个成员均为 CepWindow。翻转窗口是一种特殊的跳跃窗口,其中,窗口大小和跳跃大小相同。还可以提供对齐时间,作为窗口起点的参考。
公共方法静态成员 Union< (Of < <' (TPayload> ) > > ) 将两个流联合成一个流。
公共方法静态成员 Where< (Of < <' (TPayload> ) > > )(CepStream< (Of < <' (TPayload> ) > > ), Expression< (Of < <' (Func< (Of < <' (TPayload, Boolean> ) > > )> ) > > )) 使用给定的筛选器函数筛选输入流中的事件。
公共方法静态成员 Where< (Of < <' (TInput> ) > > )(ICepEnumerable< (Of < <' (TInput> ) > > ), Expression< (Of < <' (Func< (Of < <' (TInput, Boolean> ) > > )> ) > > )) 使用指定的筛选表达式筛选可枚举输入流中的事件。

页首

注释

CepStream 是扩展方法的集合。一般此扩展方法返回 LINQ 方法调用表达式。这些方法调用捕获规范格式的调用序列,此序列以后转换为可运行的 CEP 查询。

线程安全

此类型的任何公共 static(在 Visual Basic 中为 Shared) 成员都是线程安全的。不保证所有实例成员都是线程安全的。

请参阅

参考

Microsoft.ComplexEventProcessing.Linq 命名空间