我在 Azure 中有两个表,其中一个是 URL 列表,另一个只有域名。我希望能够检查 URLtable 中的 URL 是否“包含”来自 DomainName_table 的域名。不能使用“in”运算符,因为永远不会有完全匹配。 下面的虚拟表:
let DomainName_table= datatable (domainname: string)
[
"abc456",
"gmail"
]
|summarize domainlist = make_list(domainname);
let URLtable= datatable (URL: string)
[
"abc456/.com/ffsfd/sdfsdfds",
"gmail",//.com/sAFSfS"
"gmddail.com"///sAFfsdfsfSfS"
];
URLtable
| where URL in (DomainName_table)
我还尝试拆分 URL 以提取域名:
let DomainName_table= datatable (domainname: string)
[
"abc456",
"gmail"
]
|summarize domainlist = make_list(domainname);
let URLtable= datatable (URL: string)
[
"https://abc456.com/ffsfd/sdfsdfds",
"https://gmail.com/sAFSfS"
"https://gmddail.com/sAFfsdfsfSfS"
];
URLtable
|extend split_url = split(URL,"/",2)//| project split_url
| where split_url in (DomainName_table)
这也不是一个好方法,因为它也可以是“xyz.abc456.com”并且它不会返回匹配项。几乎总是返回 0,因为 URL 永远不可能完全匹配。
两者之间也没有可用于连接的公共列。 基本上是从另一个表的列中搜索一列的子字符串。
谁能建议我如何做到这一点?感谢您的 KQL-fu。