我有一个应用程序,它使用Python库azure.kusto.data从kusto集群查询数据。我想知道,是否可以使用动态数组作为参数化kusto查询的输入
现有的文档似乎没有调用这样的功能。 https://docs.microsoft.com/en-us/azure/data-explorer/kusto/query/queryparametersstatement?pivots=azuredataexplorer
在过去,传入字符串类型值工作得很好:
params = {
"scenario": "string",
"env": "string2",
"duration": "string3",
}
query = """
declare query_parameters(scenario:string, env:string, duration:string);
Some_Kusto_Query(scenario, env, duration)
"""
然后,我将把字典和查询字符串传递到Kusto库中,以获取所需的数据。这个很好用。不起作用的是,每当我尝试此版本时:
params = {
"scenario": "string",
"env": "string2",
"duration": "string3",
"value_list": [1,2,3,4]
}
query = """
declare query_parameters(scenario:string, env:string, duration:string, value_list:dynamic);
Some_Kusto_Query(scenario, env, duration)
| where value in value_list
"""
我已经尝试了许多不同的迭代,但似乎无法使其工作。此时我唯一的另一个想法是将value_list作为分隔字符串(例如,“1-2-3-4”)传入,并使用kusto中的split()函数将字符串反序列化回数组,但这似乎并不理想
任何提示或建议都将不胜感激——我已经浏览了Kusto文档/谷歌,但在网上没有遇到任何好的例子
谢谢
@Avnera有正确答案,还有一件事: 动态类型需要位于括号内:
参数列表中的值必须是文字,对于动态数组,文字如下所示:
例如:
如果您用Python构造查询,那么您可以像下面那样传递它并执行它。我还包括一个包含两行的测试表,以帮助可视化结果:
输出:
正如您所看到的,它只是从集合中获取了具有匹配值的行
相关问题 更多 >
编程相关推荐