#azure-application-insights #azure-stream-analytics #kql #appinsights #ms-app-analytics
#azure-application-insights #azure-stream-analytics #kql #appinsights #ms-app-analytics
Вопрос:
У меня есть пользовательское событие со свойством json (string), которое называется EventInfo. Иногда это свойство будет превышать ограничение в 150 символов, установленное для свойств события, поэтому мне приходится разбивать его на несколько свойств, т.Е. EventInfo0, EventInfo1 и т. Д.
Например (сокращено для простоты) EventInfo0: [{ "label" : "likeButton", "stat]
, EventInfo1: [us" : "success" }]
Я узнал, как посмотреть на EventInfo как json в app insights, например:
customEvents
| where name == "people"
| extend Properties = todynamic(tostring(customDimensions.Properties))
| extend type=parsejson(Properties.['EventInfo'])
| mvexpand type
| project type, type.label, type.status]
Есть ли способ объединить EventInfo0 и EventInfo1, чтобы создать полную строку json и запросить ее, как указано выше?
Комментарии:
1. Очень приятно, если вы можете ответить на приведенный ниже ответ, нравится он вам или нет. И если это сработает, вы должны принять это как ответ, согласно этой ссылке .
Ответ №1:
Согласно документации, ограничение в 150 символов относится к ключу, а не ко всей полезной нагрузке. Поэтому разделение, которое вы делаете, может на самом деле не потребоваться.
тем не менее, чтобы ответить на ваши вопросы — хотя это неэффективно делать во время запроса, может сработать следующее:
datatable(ei0:string, ei1:string)
[
'[{ "label" : "likeButton", "stat]', '[us" : "success" }]',
'[{ "lab]', '[el" : "bar", "hello": "world" }]'
]
| project properties = parse_json(strcat(substring(ei0, 1, strlen(ei0) - 2), substring(ei1, 1, strlen(ei1) - 2)))
| project properties.label
properties_label
----------------
likeButton
bar
Комментарии:
1. strcat был тем, что я искал, спасибо. Я очень новичок в Kusto.