AlterEventLifetime(TPayload) メソッド
ストリーム内のイベントの有効期間を変更します。このメソッドでは、イベントの開始時刻と終了時刻の両方を変更できます。
名前空間: Microsoft.ComplexEventProcessing.Linq
アセンブリ: Microsoft.ComplexEventProcessing (Microsoft.ComplexEventProcessing.dll)
構文
public static CepStream<TPayload> AlterEventLifetime<TPayload>(
this CepStream<TPayload> source,
Expression<Func<CepEvent, DateTime>> startTimeFunc,
Expression<Func<CepEvent<TPayload>, TimeSpan>> lifeTimeFunc
)
型パラメーター
- TPayload
入力イベント ペイロードの型。
パラメーター
- source
型: Microsoft.ComplexEventProcessing.Linq. . :: . .CepStream< (Of < ( <'TPayload> ) > ) >
入力ストリーム。
- startTimeFunc
型: System.Linq.Expressions. . :: . .Expression< (Of < ( <'Func< (Of < ( <'CepEvent, DateTime> ) > ) >> ) > ) >
指定されたイベントの新しいイベント開始時刻を定義する関数。
- lifeTimeFunc
型: System.Linq.Expressions. . :: . .Expression< (Of < ( <'Func< (Of < ( <'CepEvent< (Of < ( <'TPayload> ) > ) >, TimeSpan> ) > ) >> ) > ) >
指定されたイベントの新しいイベント有効期間を定義する関数。
戻り値
型: Microsoft.ComplexEventProcessing.Linq. . :: . .CepStream< (Of < ( <'TPayload> ) > ) >
イベントの有効期間が変更された新しいストリーム。
使用に関するメモ
Visual Basic および C# では、このメソッドを型 CepStream< (Of < ( <'TPayload> ) > ) > の任意のオブジェクトのインスタンス メソッドとして呼び出すことができます。このメソッドを呼び出すためにインスタンス メソッドの構文を使う場合は、最初のパラメーターを省略してください。詳細については、「https://msdn.microsoft.com/ja-jp/library/bb384936(v=sql.105)」または「https://msdn.microsoft.com/ja-jp/library/bb383977(v=sql.105)」を参照してください。
説明
詳細については、「タイム スタンプの変更」を参照してください。
使用例
次の例では、イベントの時刻を 1 分前に戻していますが、2 番目のパラメーターに新しい存続期間を指定するときに、元の存続期間に 1 分加算しているため、イベントの終了時刻に変更はありません。
// shift event 1 minute into the past, but leave the end time (event duration) unchanged.
var newStream = inputStream.AlterEventLifetime(e => e.StartTime - TimeSpan.FromMinutes(1),
e => e.EndTime - e.StartTime + TimeSpan.FromMinutes(1));