Método ShiftEventTime(TPayload) (CepStream(TPayload), Expression(Func(CepEvent, DateTime)))
Desloca a hora de início do evento para um novo carimbo de data/hora sem alterar o tempo de vida.
Namespace: Microsoft.ComplexEventProcessing.Linq
Assembly: Microsoft.ComplexEventProcessing (em Microsoft.ComplexEventProcessing.dll)
Sintaxe
public static CepStream<TPayload> ShiftEventTime<TPayload>(
this CepStream<TPayload> source,
Expression<Func<CepEvent, DateTime>> shiftExpr
)
Parâmetros de tipo
- TPayload
Tipo de carga do evento de entrada.
Parâmetros
- source
Tipo: Microsoft.ComplexEventProcessing.Linq. . :: . .CepStream< (Of < ( <'TPayload> ) > ) >
Fluxo de entrada.
- shiftExpr
Tipo: System.Linq.Expressions. . :: . .Expression< (Of < ( <'Func< (Of < ( <'CepEvent, DateTime> ) > ) >> ) > ) >
Expressão que define a nova hora de início.
Valor de retorno
Tipo: Microsoft.ComplexEventProcessing.Linq. . :: . .CepStream< (Of < ( <'TPayload> ) > ) >
Um fluxo com horas de início de evento deslocadas.
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 CepStream< (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 Modificações de carimbo de data/hora.
Exemplos
O exemplo a seguir desloca a hora de início de cada evento do fluxo em 15 minutos no futuro.
// shift events by 15 minutes into the future.
var shifted = inputStream.ShiftEventTime(e => e.StartTime + TimeSpan.FromMinutes(15));
O exemplo a seguir desloca a hora de início de cada evento do fluxo em 1 hora no passado.
// shift events by 1 hour into the past.
var shifted = inputStream.ShiftEventTime(e => e.StartTime - TimeSpan.FromHours(1));