parse_user_agent()
Se aplica a: ✅Microsoft Fabric✅Azure Data Explorer✅Azure Monitor✅Microsoft Sentinel
Interpreta una cadena de agente de usuario, que identifica el explorador del usuario y proporciona determinados detalles del sistema a los servidores que hospedan los sitios web que visita el usuario. El resultado se devuelve como dynamic
.
Sintaxis
parse_user_agent(
user-agent-string, look-for)
Obtenga más información sobre las convenciones de sintaxis.
Parámetros
Nombre | Type | Obligatorio | Descripción |
---|---|---|---|
user-agent-string | string |
✔️ | Cadena de agente de usuario que se va a analizar. |
buscar | string o dynamic | ✔️ | Valor que se va a buscar en user-agent-string. Las opciones posibles son "browser", "os" o "device". Si solo se requiere un único destino de análisis, se puede pasar un string parámetro. Si se requieren dos o tres destinos, se pueden pasar como una dynamic matriz. |
Devoluciones
Objeto de tipo dynamic
que contiene la información sobre los destinos de análisis solicitados.
Browser: Family, MajorVersion, MinorVersion, Patch
OperatingSystem: Family, MajorVersion, MinorVersion, Patch, PatchMinor
Dispositivo: familia, marca, modelo
Advertencia
La implementación de la función se basa en comprobaciones regex de la cadena de entrada en un gran número de patrones predefinidos. Por lo tanto, el tiempo esperado y el consumo de CPU es alto. Cuando la función se usa en una consulta, asegúrese de que se ejecuta de forma distribuida en varias máquinas. Si las consultas con esta función se usan con frecuencia, es posible que desee crear previamente los resultados a través de la directiva de actualización, pero debe tener en cuenta que el uso de esta función dentro de la directiva de actualización aumentará la latencia de ingesta.
Ejemplos
Buscar parámetro como cadena
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")
El resultado esperado es un objeto dinámico:
{
"Browser": {
"Family": "AdobeAIR",
"MajorVersion": "2",
"MinorVersion": "5",
"Patch": "1"
}
}
Parámetro de búsqueda como matriz dinámica
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"]))
El resultado esperado es un objeto dinámico:
{
"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"
}
}