in functions/source/real-time-adherence/AspectKinesisLamda/ProcessKinesisEvents.cs [312:330]
private async Task ProcessEventToTable(ConnectKinesisEventRecord streamRecord)
{
_logger.Trace("Beginning ProcessEventsToDynamoTable");
var dynamoRecord = await _aeDbContext.LoadAsync<ConnectKinesisEventRecord>(streamRecord.AgentARN);
if (dynamoRecord == null || streamRecord.LastEventTimeStamp >= dynamoRecord.LastEventTimeStamp)
{
await _aeDbContext.SaveAsync(streamRecord);
}
else
{
_logger.Warn($"Stream record event timestamp {streamRecord.LastEventTimeStamp} is prior to dynamo record event timestamp {dynamoRecord.LastEventTimeStamp}.");
_logger.Warn($"Current Stream Record Json {streamRecord.RawAgentEventJSon}");
_logger.Warn($"Current Dynamo Record Json {dynamoRecord.RawAgentEventJSon}");
}
//NOTE: ignores if record old/out-of-order since all info out-of-date; not excepted to be out of order - very rare possiblity
_logger.Trace("Ending ProcessEventsToDynamoTable");
}