Класс CepStream
Предоставляет методы расширения, которые используются для написания запросов 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 до точки начала следующего соответствующего события в потоке clipStream, соответствующего выражению matchExpression. | |
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> ) > > )> ) > > )) | Возвращает заданное количество событий из каждого окна и вычисляет заданное выражение. Это используется, если предполагается cпроецировать ранг в результат Take(). | |
ThenBy< (Of < <' (TPayload, TOrderKey> ) > > ) | Упорядочивает упорядоченный поток по другому ключу orderKey, заданному параметром rankSelector. | |
ThenByDescending< (Of < <' (TPayload, TOrderKey> ) > > ) | Упорядочивает упорядоченный поток по другому ключу orderKey, заданному параметром rankSelector. | |
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. Эти вызовы методов записывают последовательность вызова в канонической форме, которая впоследствии преобразуется в выполняемый запрос обработки сложных событий.
Безопасность многопоточности
Любые открытые статический (Shared в Visual Basic) элементы этого типа потокобезопасны. Потокобезопасность с элементами экземпляров не гарантируется.