parse_user_agent()
Область применения: ✅Microsoft Fabric✅Azure Data Explorer✅Azure Monitor✅Microsoft Sentinel
Интерпретирует строку агента пользователя, которая определяет браузер пользователя и предоставляет определенные системные сведения серверам, на которых размещаются веб-сайты, которые посещают пользователи. Результат возвращается как dynamic
.
Синтаксис
parse_user_agent(
user-agent-string, look-for)
Дополнительные сведения о соглашениях синтаксиса.
Параметры
Имя (название) | Type | Обязательно | Описание |
---|---|---|---|
строка user-agent-string | string |
✔️ | Строка агента пользователя для синтаксического анализа. |
поиск | строка или динамическая | ✔️ | Значение для поиска в строке user-agent-string. Возможные варианты: browser, os или device. Если требуется только один целевой объект синтаксического анализа, его можно передать string . Если требуются два или три целевых объекта, их можно передать в виде массива dynamic . |
Возвраты
Объект типа dynamic
, содержащий сведения о запрошенных целевых объектах синтаксического анализа.
Браузер: family, MajorVersion, MinorVersion, Patch
Операционная система: family, MajorVersion, MinorVersion, Patch, PatchMinor
Устройство: семейство, бренд, модель
Предупреждение
Реализация функции основана на регулярных проверках входной строки на огромное количество предопределенных шаблонов. Поэтому ожидаемое время и потребление ЦП высоко. Если функция используется в запросе, убедитесь, что она выполняется в распределенном режиме на нескольких компьютерах. Если часто используются запросы с этой функцией, может потребоваться предварительно создать результаты с помощью политики обновления, но необходимо учитывать, что использование этой функции внутри политики обновления увеличит задержку приема.
Примеры
Поиск параметра в виде строки
print useragent = "Mozilla/5.0 (Windows; U; en-US) AppleWebKit/531.9 (KHTML, like Gecko) AdobeAIR/2.5.1"
| extend x = parse_user_agent(useragent, "browser")
Ожидаемый результат — это динамический объект:
{
"Browser": {
"Family": "AdobeAIR",
"MajorVersion": "2",
"MinorVersion": "5",
"Patch": "1"
}
}
Поиск параметров в виде динамического массива
print useragent = "Mozilla/5.0 (SymbianOS/9.2; U; Series60/3.1 NokiaN81-3/10.0.032 Profile/MIDP-2.0 Configuration/CLDC-1.1 ) AppleWebKit/413 (KHTML, like Gecko) Safari/4"
| extend x = parse_user_agent(useragent, dynamic(["browser","os","device"]))
Ожидаемый результат — это динамический объект:
{
"Browser": {
"Family": "Nokia OSS Browser",
"MajorVersion": "3",
"MinorVersion": "1",
"Patch": ""
},
"OperatingSystem": {
"Family": "Symbian OS",
"MajorVersion": "9",
"MinorVersion": "2",
"Patch": "",
"PatchMinor": ""
},
"Device": {
"Family": "Nokia N81",
"Brand": "Nokia",
"Model": "N81-3"
}
}