Take(TPayload)-Methode (CepOrderedStream(TPayload), UInt32)
Entnimmt aus jedem Fenster eines angegebenen geordneten Datenstroms eine angegebene Anzahl von Ereignissen.
Namespace: Microsoft.ComplexEventProcessing.Linq
Assembly: Microsoft.ComplexEventProcessing (in Microsoft.ComplexEventProcessing.dll)
Syntax
public static CepStream<TPayload> Take<TPayload>(
this CepOrderedStream<TPayload> source,
uint numberOfElements
)
Typparameter
- TPayload
Der Nutzlasttyp der Eingabeereignisse.
Parameter
- source
Typ: Microsoft.ComplexEventProcessing.Linq. . :: . .CepOrderedStream< (Of < ( <'TPayload> ) > ) >
Der Eingabedatenstrom.
- numberOfElements
Typ: System. . :: . .UInt32
Die Anzahl von Elementen, die aus jedem Fenster entnommen werden.
Rückgabewert
Typ: Microsoft.ComplexEventProcessing.Linq. . :: . .CepStream< (Of < ( <'TPayload> ) > ) >
Ein Datenstrom mit einer bestimmten Anzahl von Ereignissen, die aus jedem Fenster entnommen werden.
Hinweis zur Verwendung
In Visual Basic und C# können Sie die Methode als Instanzenmethode für jedes Objekt vom Typ CepOrderedStream< (Of < ( <'TPayload> ) > ) > aufrufen. Wenn Sie Instanzmethodensyntax zum Aufruf dieser Methode verwenden, vernachlässigen Sie den ersten Parameter. Weitere Informationen finden Sie unter https://msdn.microsoft.com/de-de/library/bb384936(v=sql.105) oder https://msdn.microsoft.com/de-de/library/bb383977(v=sql.105).
Hinweise
Weitere Informationen finden Sie unter TopK.
Beispiele
Im folgenden Beispiel werden die obersten fünf Ereignisse aus jedem für den Eingabedatenstrom inputStream definierten Momentaufnahmefenster verwendet und ein neuer Ereignisdatenstrom generiert. Die Ereignisse in jedem Fenster werden in aufsteigender Reihenfolge der Werte in den Nutzlastfeldern e.f sortiert, kombiniert mit der absteigenden Reihenfolge der Werte im Nutzlastfeld 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);