azure 过滤器查询和jmespath包含数组中的内容

ldioqlga  于 2022-11-17  发布在  其他
关注(0)|答案(1)|浏览(137)

我有一个返回两个结果的az cli命令。我希望它返回一个正确的结果。
显示名称=='运行者'].{显示名称:显示名称,id:id}”--输出tsv
在这两个结果中的每一个的顶部我看到:

{
    "accountEnabled": true,
    "addIns": [],
    "alternativeNames": [
      "isExplicit=True",
      "/subscriptions/123456-dc65-5e45-9bcc-7fdf8d187d34/resourcegroups/my-rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/runner"

我希望查询过滤到包含my-rg的alternativeNames。
我试探着:

az ad sp list --all --filter "servicePrincipalType eq 'ManagedIdentity'" --query "[?displayName=='runner']|[?contains(AlternativeNames[1],'my-rg')].{displayName:displayName,id:id}" --output tsv

那不起作用,因为我认为我用错了。

lnxxn5zx

lnxxn5zx1#

显然,大小写很重要。我改用alternativeNames[1],效果很好!

相关问题