parse_user_agent()
Platí pro: ✅Microsoft Fabric✅Azure Data Explorer✅Azure Monitor✅Microsoft Sentinel
Interpretuje řetězec uživatelského agenta, který identifikuje prohlížeč uživatele a poskytuje určité systémové podrobnosti pro servery hostující weby, které uživatel navštíví. Výsledek se vrátí jako dynamic
.
Syntaxe
parse_user_agent(
user-agent-string, look-for)
Přečtěte si další informace o konvencích syntaxe.
Parametry
Název | Type | Požadováno | Popis |
---|---|---|---|
user-agent-string | string |
✔️ | Řetězec uživatelského agenta, který se má analyzovat. |
look-for | řetězec nebo dynamický | ✔️ | Hodnota, kterou chcete vyhledat v řetězci user-agent. Možné možnosti jsou "browser", "os" nebo "device". Pokud je vyžadován pouze jeden cíl analýzy, může být předán string parametr. Pokud jsou požadovány dva nebo tři cíle, mohou být předány jako dynamic pole. |
Návraty
Objekt typu dynamic
, který obsahuje informace o požadovaných cílech analýzy.
Prohlížeč: Rodina, MajorVersion, MinorVersion, Patch
OperatingSystem: Family, MajorVersion, MinorVersion, Patch, PatchMinor
Zařízení: Rodina, značka, model
Upozorňující
Implementace funkce je založená na kontrolách regulárních výrazů vstupního řetězce proti velkému počtu předdefinovaných vzorů. Proto je očekávaná doba a spotřeba procesoru vysoká. Pokud se funkce používá v dotazu, ujistěte se, že běží distribuovaným způsobem na více počítačích. Pokud se dotazy s touto funkcí často používají, můžete chtít předem vytvořit výsledky prostřednictvím zásad aktualizace, ale je potřeba vzít v úvahu, že použití této funkce uvnitř zásad aktualizace zvýší latenci příjmu dat.
Příklady
Vyhledání parametru jako řetězce
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")
Očekávaný výsledek je dynamický objekt:
{
"Browser": {
"Family": "AdobeAIR",
"MajorVersion": "2",
"MinorVersion": "5",
"Patch": "1"
}
}
Vyhledání parametru jako dynamického pole
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"]))
Očekávaný výsledek je dynamický objekt:
{
"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"
}
}