I am creating a log crawler to combine logs from all our Azure applications. Some of them store logs in SLAB format and some of them simply use the Azure Diagnostics Tracer. Since version 2.6, Azure Diagnostics tracer is actually creating two Timestamp columns in the Azure Table "WADLogsTable". The explanation for this behavior from Microsoft is the following:
TIMESTAMP is PreciseTimeStamp rounded down to the upload frequency boundary. So, if your upload frequency is 5 minutes and the event time 00:17:12, TIMESTAMP will be 00:15:00.
Timestamp is the timestamp at which the entity was created in the Azure table.
Sadly Azure Search currently only supports case insensitive column mapping, so when I create a simple datasource, index and indexer, I get an exception about multiple columns existing in the datasource with the same name (Timestamp).
I tried not to use Timestamp and instead use the PreciseTimeStamp, but then I get a different exception:
"Specified cast is not valid.Couldn't store <8/18/2016 12:10:00 AM> in Timestamp Column. Expected type is DateTimeOffset."
I assume this is because the current Azure Table datasource insists on keeping track of Timestamp column for change tracking behind the scenes.
The behavior is the same if I programmatically create all the objects, or use the "Import Data" functionality on the portal.
Does anyone have any other strategy or approach to overcome this issue?
We are happily indexing our SLAB tables btw, it's just the WAD failing now.