An Azure data analytics service for real-time analysis on large volumes of data streaming from sources including applications, websites, and internet of things devices.
In a DCR transformation, source already represents the incoming JSON as columns. To access a JSON property whose name contains a dot (like addr.remote), use bracket notation instead of a bare identifier or string literal.
Use this KQL in transformKql:
"transformKql": "source | extend SourceIP = tostring(source['addr.remote'])"
Key points:
-
sourceis the virtual table for incoming data in transformations. -
addr.remoteis not a valid bare column name because of the dot, so it must be referenced as['addr.remote']. -
'addr.remote'in the original query is just a string literal, not a column reference, so it never reads the field from the log.
If the JSON is nested inside another column (for example, all JSON is in a column called RawData), first parse that column, then use the same bracket notation on the parsed object:
source
| extend parsed = parse_json(RawData)
| extend SourceIP = tostring(parsed['addr.remote'])
Ensure the final query is flattened to a single line when placed in the DCR transformKql property.
References: