未解析第一个查询字符串参数

问题描述

我的查询必须从数据列中的URL中提取查询字符串参数。不幸的是,Kusto似乎有bug,因为基本URL被视为第一个参数名称的一部分,如本示例所示:

datatable (MyUrl:string)
[
"http://foo/?p1=bar&p2=baz","http://foo/?p1=bar&p2=quuz","http://roo/?p1=biz&p2=fizz"
]
| project parse_urlquery(MyUrl)["Query Parameters"]["http://foo/?p1"],parse_urlquery(MyUrl)["Query Parameters"]["p1"],parse_urlquery(MyUrl)["Query Parameters"]["p2"]

Kusto output

如何可靠地提取p1(注意,它不一定是实际URL中的第一个)。

解决方法

您可能打算使用parse_url()而不是parse_urlquery()吗?

datatable (MyUrl:string)
[
"http://foo/?p1=bar&p2=baz","http://foo/?p1=bar&p2=quuz","http://roo/?p1=biz&p2=fizz"
]
| project parse_url(MyUrl)["Query Parameters"]
Query Parameters
----------------
{
  "p1": "bar","p2": "baz"
}
----------------
{
  "p1": "bar","p2": "quuz"
}
----------------
{
  "p1": "biz","p2": "fizz"
}

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...