你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
parse_user_agent()
适用于:✅Microsoft Fabric✅Azure 数据资源管理器Azure Monitor✅Microsoft✅ Sentinel
解释一个 user-agent 字符串,该字符串用于标识用户的浏览器,并向承载用户所访问网站的服务器提供特定的系统详细信息。 结果以 dynamic
的形式返回。
语法
parse_user_agent(
user-agent-string, look-for)
详细了解语法约定。
参数
客户 | 类型 | 必需 | 说明 |
---|---|---|---|
user-agent-string | string |
✔️ | 要分析的用户代理字符串。 |
look-for | 字符串或动态 | ✔️ | 要在 user-agent-string 中搜索的值。 可能的选项包括“browser”、“os”或“device”。 如果只需要一个分析目标,可将 string 参数传递给它。 如果需要两个或三个目标,可将其作为 dynamic 数组传递。 |
返回
dynamic
类型的对象,包含有关所请求的分析目标的信息。
Browser: Family, MajorVersion, MinorVersion, Patch
OperatingSystem:Family, MajorVersion, MinorVersion, Patch, PatchMinor
Device: Family, Brand, Model
警告
该函数实现以输入字符串的正则表达式检查(针对海量预定义模式)为基础。 因此,时间和 CPU 用量预计会很高。 在查询中使用该函数时,请确保它以分布式方式在多台计算机上运行。 如果频繁使用带有此函数的查询,那么你可能想要通过更新策略预创建结果,但需考虑到,在更新策略中使用此函数将会增加引入延迟。
示例
字符串形式的 Look-for 参数
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")
预期结果是动态对象:
{
"Browser": {
"Family": "AdobeAIR",
"MajorVersion": "2",
"MinorVersion": "5",
"Patch": "1"
}
}
动态数组形式的 Look-for 参数
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"]))
预期结果是动态对象:
{
"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"
}
}