Как извлечь заданные c имена подкаталогов из URL - PullRequest
0 голосов
/ 29 апреля 2020

С учетом следующих URL-адресов запроса:

I sh, чтобы получить отдельные столбцы для значений {foo-id} и {bar-id}

Что я пробовал

requests
| where timestamp > ago(1d)
| extend parsed_url=parse_url(url)
| extend path = tostring(parsed_url["Path"])
| extend: foo = "value of foo-id"
| extend: bar = "value of bar-id"

Это дает мне /api/foos/{foo-id}/bars/{bar-id} как новый столбец пути.

Можно ли решить этот вопрос без использования регулярных выражений?

Схожий, но не тот же вопрос: Application Insights: Analytics - как извлечь строку при задании c позиция

1 Ответ

2 голосов
/ 30 апреля 2020

Разделение на символ '/' даст вам массив, а затем вы сможете извлекать искомые элементы, пока путь остается согласованным. Использование parse_url() необязательно - вы можете использовать substring() или просто настроить полученные вами индексы.

requests
| extend path = parse_url(url)
| extend elements = split(substring(path.Path, 1), "/") //gets rid of the leading slash
| extend foo=tostring(elements[2]), bar=tostring(elements[4])
| summarize count() by foo, bar
...