parse_user_agent()

Интерпретирует строку агента пользователя, которая идентифицирует браузер пользователя и предоставляет определенные сведения о системе серверам, на которых размещаются веб-сайты, которые пользователь посещает. Результат возвращается как dynamic.

Синтаксис

parse_user_agent(user-agent-string, look-for)

Дополнительные сведения о соглашениях о синтаксисе.

Параметры

Имя Тип Обязательно Описание
user-agent-string string ✔️ Строка агента пользователя для анализа.
Поиск строка или динамическая ✔️ Значение для поиска в строке user-agent-string. Возможные варианты: "browser", "os" или "device". Если требуется только один целевой объект синтаксического анализа, ему можно передать string параметр . Если требуется два или три целевых объекта, их можно передать в виде массива dynamic .

Возвращаемое значение

Объект типа dynamic , содержащий сведения о запрошенных целевых объектах синтаксического анализа.

Браузер: Family, MajorVersion, MinorVersion, Patch

Операционная система: Family, MajorVersion, MinorVersion, 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"
  }
}