parse_user_agent()

Tolkar en användaragentsträng som identifierar användarens webbläsare och ger viss systeminformation till servrar som är värdar för de webbplatser som användaren besöker. Resultatet returneras som dynamic.

Syntax

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

Läs mer om syntaxkonventioner.

Parametrar

Namn Typ Obligatorisk Beskrivning
user-agent-string string ✔️ Användaragentsträngen som ska parsas.
look-for sträng eller dynamisk ✔️ Värdet som ska sökas efter i user-agent-string. De möjliga alternativen är "webbläsare", "os" eller "enhet". Om endast ett enda parsningsmål krävs kan det skickas en string parameter. Om två eller tre mål krävs kan de skickas som en dynamic matris.

Returer

Ett objekt av typen dynamic som innehåller information om de begärda parsningsmålen.

Webbläsare: Familj, MajorVersion, MinorVersion, Patch

OperatingSystem: Family, MajorVersion, MinorVersion, Patch, PatchMinor

Enhet: Familj, varumärke, modell

Varning

Funktionsimplementeringen bygger på regexkontroller av indatasträngen mot ett stort antal fördefinierade mönster. Därför är den förväntade tiden och CPU-förbrukningen hög. När funktionen används i en fråga kontrollerar du att den körs på ett distribuerat sätt på flera datorer. Om frågor med den här funktionen används ofta kanske du vill skapa resultaten i förväg via uppdateringsprincipen, men du måste ta hänsyn till att användningen av den här funktionen i uppdateringsprincipen ökar inmatningsfördröjningen.

Exempel

Sök efter parameter som sträng

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") 

Förväntat resultat är ett dynamiskt objekt:

{
  "Browser": {
    "Family": "AdobeAIR",
    "MajorVersion": "2",
    "MinorVersion": "5",
    "Patch": "1"
  }
}

Sök efter parameter som dynamisk matris

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"])) 

Förväntat resultat är ett dynamiskt 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"
  }
}