在我们的Azure环境中,有些资源包含的标签在使用大小写时命名不一致。假设我们有一个标签Projectteam
。在我们的环境中,我们会有该标签名称的各种变体:
- 项目组
- 项目团队
- 项目团队
- 项目名称
你明白了,大写和小写拼写的使用可能到处都是。
我想要的是一个Kusto(KQL)查询,它以不区分大小写的方式过滤Projectteam
标记。我发现了很多关于以不区分大小写的方式过滤标记的value的例子,但在这里我想对标记名称本身进行过滤。如果我使用这个查询:
Resources
| where tags.Projectteam == 'TeamX'
它只会返回标签名称与Projectteam
完全匹配的资源,我不会得到任何使用不同大小写拼写的资源,比如projectTeam
。
当然,我可以对tags
属性值应用一些过滤器,比如使用不区分大小写的contains
操作符:
Resources
| where tags contains 'projectteam'
但是这也可能会返回不想要的结果,其中projectteam
被用作值而不是标记名(键),而且感觉应该有更好的方法。
有没有人知道一种更好的方法来过滤标签名称不区分大小写?
2条答案
按热度按时间zengzsys1#
ADX上的演示:
| 识别号|标签|
| - ------|- ------|
| 1个|{"虚拟人1 ":1,"虚拟人2 ":2,"项目团队":" TeamX "}|
| 第二章|{"项目团队":" TeamX "}|
| 三个|{"项目团队":" X团队"}|
| 四个|{"项目负责人":" X团队"}|
Fiddle
fivyi3re2#
一种选择是使用
bag_keys
来提取标记密钥。使用
bag_has_key
可以更简单: