Método Take(TPayload) (CepOrderedStream(TPayload), UInt32)
Dado um fluxo ordenado, toma um determinado número de eventos de cada janela.
Namespace: Microsoft.ComplexEventProcessing.Linq
Assembly: Microsoft.ComplexEventProcessing (em Microsoft.ComplexEventProcessing.dll)
Sintaxe
public static CepStream<TPayload> Take<TPayload>(
this CepOrderedStream<TPayload> source,
uint numberOfElements
)
Parâmetros de tipo
- TPayload
Tipo de carga dos eventos de entrada.
Parâmetros
- source
Tipo: Microsoft.ComplexEventProcessing.Linq. . :: . .CepOrderedStream< (Of < ( <'TPayload> ) > ) >
Fluxo de entrada.
- numberOfElements
Tipo: System. . :: . .UInt32
Número de elementos que serão usados em cada janela.
Valor de retorno
Tipo: Microsoft.ComplexEventProcessing.Linq. . :: . .CepStream< (Of < ( <'TPayload> ) > ) >
Um fluxo com um determinado número de eventos usado em cada janela.
Observação sobre o uso
No Visual Basic e C#, você pode chamar esse método como um método de instância em qualquer objeto do tipo CepOrderedStream< (Of < ( <'TPayload> ) > ) >. Quando usar uma sintaxe de método de instância para chamar esse método, omita o primeiro parâmetro. Para obter mais informações, consulte https://msdn.microsoft.com/pt-br/library/bb384936(v=sql.105) ou https://msdn.microsoft.com/pt-br/library/bb383977(v=sql.105).
Comentários
Para obter mais informações, consulte TopK.
Exemplos
O exemplo a seguir usa os cinco eventos principais de cada janela de instantâneo definidos para o fluxo de entrada inputStream e gera um novo fluxo de eventos. Os eventos em cada janela são classificados na ordem crescente dos valores nos campos de carga e.f combinados com a ordem decrescente dos valores no campo de carga e.i.
// Assuming the following input event type for inputStream:
public class MyPayload
{
public int f;
public int i;
}
var topfive = (from window in inputStream.Snapshot(SnapshotWindowOutputPolicy.Clip)
from e in window
orderby e.f ascending, e.i descending
select e).Take(5);