#azure-application-insights #azure-data-explorer
#azure-application-insights #azure-data-explorer
Вопрос:
У меня много данных, которые выглядят как
{"tuesday":"<30, 60>"}
{"friday":"<0, 5>"}
{"saturday":"<5, 10>"}
{"friday":"<0, 5>"}
{"saturday":"<5, 10>"}
{"sunday":"0"}
{"monday":"<0, 5>"}
Все, что мне нужно, это значение независимо от ключа.
Мой запрос:
customEvents
| where name == "eventName"
| extend d = parse_json(tostring(customDimensions.['Properties']))
| project d
| take 7
d — это динамический объект, и я могу выполнить d.monday для значения, но я хотел бы получить значение без ключа. Возможно ли это с Kusto?
Спасибо
Ответ №1:
для случая с одним свойством, как вы продемонстрировали выше, могло бы сработать использование parse
оператора:
datatable(d:dynamic)
[
,dynamic({"tuesday":"<30, 60>"})
,dynamic({"friday":"<0, 5>"})
,dynamic({"saturday":"<5, 10>"})
,dynamic({"friday":"<0, 5>"})
,dynamic({"saturday":"<5, 10>"})
,dynamic({"sunday":"0"})
,dynamic({"monday":"<0, 5>"})
]
| parse d with * ':"' value '"' *
| project value
Примечания:
-
В случае, если ваши значения не обязательно заключены в двойные кавычки (например, являются цифрами), тогда вы должны иметь возможность указать
kind=regex
дляparse
оператора и использовать условное выражение для существования двойных кавычек. -
В случае, если у вас потенциально более 1 свойства на пакет свойств, использование
extract_all()
является одним из вариантов.
Соответствующие документы:
Комментарии:
1. Отлично, оператор синтаксического анализа пропустил меня.. Большое спасибо за прилагаемые документы!