Azure cli - 列出禁用 https-only 的所有 Web 应用程序

Azure cli - List all webapps where https-only is disabled

我正在使用 azure cli 获取所有 webapps

az webapp list --query '[].{Name:name}'

它工作正常,但我想查询,以便它只有 returns 禁用“仅 https”设置的网络应用程序。我该如何查询?我试过 az webapp list --query '[?httpsonly==false].{Name:name}' 但没用。

你可以query Azure CLI command output using a JMESPath query.

The Azure CLI uses the --query argument to execute a JMESPath query on the results of commands. JMESPath is a query language for JSON, giving you the ability to select and modify data from CLI output. Queries are executed on the JSON output before any display formatting.

由于您要过滤结果,请查看如何 filter arrays

The other operation used to get data from an array is filtering. Filtering is done with the [?...] JMESPath operator. This operator takes a predicate as its contents. A predicate is any statement that can be evaluated to either true or false. Expressions where the predicate evaluates to true are included in the output.

最后,你们非常接近。 JMESPath 已经解析布尔值,属性 名称区分大小写。

这将使命令列出所有将 httpOnly 属性 设置为 false 的网络应用程序的名称,如下所示:

az webapp list --query '[?!httpsOnly].{Name:name}'

编辑:
这是我从我的一个个人租户那里检索所有 httpsOnly 分别设置为 true 和 httpsOnly 时得到的输出示例:

这似乎表明查询有效。