Sdílet prostřednictvím


parse_user_agent()

Platí pro: ✅Microsoft FabricAzure Data Explorer✅Azure MonitorMicrosoft 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"
  }
}