с точки зрения языка запросов, вы делаете правильные вещи (предполагая, что вы действительно хотите > 200
, а не >= 200
, так что запрос в вашем примере фактически вернет запись, снимок которой вы вставили)
print customDimensions = dynamic({
"Logger Message":{
"message":"Test 1 and Test 2",
"statusCode": 200
}
})
| project toint(customDimensions['Logger Message'].statusCode)
Это возвращает одну таблицу, с одной строкой, с одним столбцом, со значением 200
.
Трудно полностью понять, как фактические данные в вашем случае выглядит на основе снимка - вы можете попробовать «отладить» его шаг за шагом (s1,...,s4
ниже) и посмотреть, где он «ломается».
- (только предположение), возможно, вам потребуется вызвать
parse_json()
в строковой полезной нагрузке, чтобы вы могли получить доступ к свойствам Dynami c в ней.
exceptions
| limit 50
| project s1 = customDimensions["Logger Message"]
| extend s2 = s1.statusCode
| extend s3 = toint(s2)
| extend s4 = s3 > 200 and s3 < 300
Обновление:
попробуйте использовать parse_json()
, как предполагалось ранее:
(плюс, см. раздел Примечания здесь: https://docs.microsoft.com/en-us/azure/data-explorer/kusto/query/parsejsonfunction)
exceptions
| limit 50
| project s1 = parse_json(tostring(customDimensions["Logger Message"]))
| extend s2 = s1.statusCode
| extend s3 = toint(s2)
| extend s4 = s3 > 200 and s3 < 300