ShiftEventTime(TPayload)-Methode (CepStream(TPayload), Expression(Func(CepEvent, DateTime)))
Verlagert die Ereignisstartzeit auf einen neuen Zeitstempel, ohne die Lebensdauer zu ändern.
Namespace: Microsoft.ComplexEventProcessing.Linq
Assembly: Microsoft.ComplexEventProcessing (in Microsoft.ComplexEventProcessing.dll)
Syntax
public static CepStream<TPayload> ShiftEventTime<TPayload>(
this CepStream<TPayload> source,
Expression<Func<CepEvent, DateTime>> shiftExpr
)
Typparameter
- TPayload
Der Typ der Eingabeereignisnutzlast.
Parameter
- source
Typ: Microsoft.ComplexEventProcessing.Linq. . :: . .CepStream< (Of < ( <'TPayload> ) > ) >
Der Eingabedatenstrom.
- shiftExpr
Typ: System.Linq.Expressions. . :: . .Expression< (Of < ( <'Func< (Of < ( <'CepEvent, DateTime> ) > ) >> ) > ) >
Ausdruck, der die neue Startzeit definiert.
Rückgabewert
Typ: Microsoft.ComplexEventProcessing.Linq. . :: . .CepStream< (Of < ( <'TPayload> ) > ) >
Ein Datenstrom mit verschobenen Ereignisstartzeiten.
Hinweis zur Verwendung
In Visual Basic und C# können Sie die Methode als Instanzenmethode für jedes Objekt vom Typ CepStream< (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 Zeitstempeländerungen.
Beispiele
Im folgenden Beispiel wird die Startzeit jedes Ereignisses im Datenstrom um 15 Minuten in die Zukunft verlagert.
// shift events by 15 minutes into the future.
var shifted = inputStream.ShiftEventTime(e => e.StartTime + TimeSpan.FromMinutes(15));
Im folgenden Beispiel wird die Startzeit jedes Ereignisses im Datenstrom um 1 Stunde in die Vergangenheit verlagert.
// shift events by 1 hour into the past.
var shifted = inputStream.ShiftEventTime(e => e.StartTime - TimeSpan.FromHours(1));