Condividi tramite


parse_user_agent()

Si applica a: ✅Microsoft Fabric✅Azure Esplora dati Azure MonitorMicrosoft Sentinel

Interpreta una stringa dell'agente utente, che identifica il browser dell'utente e fornisce determinati dettagli di sistema ai server che ospitano i siti Web visitati dall'utente. Il risultato viene restituito come dynamic.

Sintassi

parse_user_agent(user-agent-string, cercare)

Altre informazioni sulle convenzioni di sintassi.

Parametri

Nome Digita Obbligatorio Descrizione
user-agent-string string ✔️ Stringa dell'agente utente da analizzare.
cerca stringa o dinamica ✔️ Valore da cercare in user-agent-string. Le opzioni possibili sono "browser", "os" o "device". Se è necessaria una sola destinazione di analisi, può essere passato un string parametro. Se sono necessarie due o tre destinazioni, possono essere passate come dynamic matrice.

Valori restituiti

Oggetto di tipo dynamic che contiene le informazioni sulle destinazioni di analisi richieste.

Browser: Family, MajorVersion, MinorVersion, Patch

OperatingSystem: Family, MajorVersion, MinorVersion, Patch, PatchMinor

Dispositivo: Famiglia, Marchio, Modello

Avviso

L'implementazione della funzione è basata su controlli regex della stringa di input rispetto a un numero elevato di modelli predefiniti. Pertanto, il tempo previsto e il consumo della CPU sono elevati. Quando la funzione viene usata in una query, assicurarsi che venga eseguita in modo distribuito in più computer. Se le query con questa funzione vengono usate di frequente, è possibile creare in modo preliminare i risultati tramite i criteri di aggiornamento, ma è necessario tenere conto che l'uso di questa funzione all'interno dei criteri di aggiornamento aumenterà la latenza di inserimento.

Esempi

Cercare il parametro come stringa

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

Il risultato previsto è un oggetto dinamico:

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

Cercare il parametro come matrice dinamica

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

Il risultato previsto è un oggetto dinamico:

{
  "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"
  }
}