所以,我有个问题要问

requests
| where customDimensions has'Scope' and customDimensions['Scope'] != 'Unauthenticated' and cloud_RoleName == 'cloud1'
| project x = tostring(customDimensions['x'], y = tostring(customDimensions['y'] ...

我想把我的customDimensions个值分成3个JSON.

| project json1 = json1, json2 = json2, json3 = json3

但我无法对customDimensions进行分组/拆分我try 了动态数据表,但它们不将变量作为输入

上面的语句给出的错误是it should end with '}',显然我的语法是正确的.我觉得它无法访问dynamic或datatable中的customDimensions变量

有人能给我介绍一下吗..

我希望输出为

| json1 | json2 | json3 |
|{...}  | {...} | {...} |

所有3个json都将从同一个表的customDimensions或其他列创建;

关于customDimensions https://camerondwyer.com/2020/05/26/how-to-use-application-insights-custom-properties-in-azure-monitor-log-kusto-queries/

假设customDimensions中有

customDimensions = {x:X, y:Y, a:A, ...}
json1 should have {x, y z}
json2 should have {r, t, p,}
json3 should have {w, m, n}

推荐答案

在与@Sandeep Ranjan交谈后:

这里的挑战是从动态存储的JSON文档中提取字段,然后将它们打包到3个新的单独JSON文档中.

提取字段很简单,例如:

customDimensions.myfield

customDimensions["myfield"]

The later can be used f或 fields names with spaces and/或 special characters, E.g.:

customDimensions["my field"]
customDimensions["my-field!"]

Packing the fields can be done with 3 different functions that are synonyms to each other.
Those functions are pack_dictionary(), pack() & bag_pack()

下面是一个快速示例:

let requests = datatable(customDimensions:dynamic) [dynamic({"x":1, "y":2, "z":3, "a":"hello", "b":"w或ld", "k1":"v1", "k2":"v2", "k3":"v3", "k4":"v4"})];
requests
| project-rename cd = customDimensions // just to make things a little bit sh或ter
| extend json_1 = pack_dictionary("x",cd .x, "y", cd.y, "z", cd.z)
| extend json_2 = pack_dictionary("a", cd.a, "b", cd.b)
| extend json_3 = pack_dictionary("k1", cd.k1, "k2", cd.k2, "k3", cd.k3, "k4", cd.k4)
cd json_1 json_2 json_3
{"x":1,"y":2,"z":3,"a":"hello","b":"w或ld","k1":"v1","k2":"v2","k3":"v3","k4":"v4"} {"x":1,"y":2,"z":3} {"a":"hello","b":"w或ld"} {"k1":"v1","k2":"v2","k3":"v3","k4":"v4"}

Fiddle

Csharp相关问答推荐

火鸟DBC驱动程序未加载ADF DLC

访问C#中的数据库字段时获取数据是收件箱错误-为什么?&有效,如果声明不有效

如何从C#中有类.x和类.y的类列表中映射List(字符串x,字符串y)?

如何在Visual Studio中为C# spread操作符设置格式规则?

Blazor WebApp:原始异常:AADSTS700025:客户端是公共的,因此既不应显示客户端,也不应显示客户端

从ASP.NET Core中的枚举字段填充 Select 选项时,将默认的第一个选项添加为 Select 元素

从依赖项容器在.NET 8中的Program.cs文件中添加IOC

如何在实体框架中添加包含列表?

未找到任何HTTP触发器.成功部署Azure Functions Project后(c#)

C#DateTime.ParseExact不使用特定日期

如何允许数组接受多个类型?

C#动态设置ServerReport报表参数

如何实现有条件的自定义Json转换器隐藏属性

将FileStream的特定部分作为字节数组读取

岛屿和框架中的自定义控件库.Navigate-AccessViolationException

是否可以从IQueryable T中获取一个IdentyEntry T>

使用C#代码和SQL SERVER中的相同证书签名会产生不同的结果

C#-如何将int引用获取到byte[]

使用ITfoxtec.Identity.Saml2解析相同键多值SAML 2声明

使用Try-Catch-Finally为API端点处理代码--有什么缺点?