Freigeben über


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

  • 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);

Siehe auch

Verweis

CepStream Klasse

Take-Überladung

Microsoft.ComplexEventProcessing.Linq-Namespace