1

我正在寻找一种仅列出 json 字段而不是其值的 'az' --query 语法。

这将打印一个表格:

az account list --query [*] -o --table

Name    State  IsDefault  TenantId    CloudName

----    -----  ---------  --------    ---------

bob     Enabled True       nnn        AzureCloud

但我不想要列名下的值,我只想要列名的列表。

4

1 回答 1

3

语境

  • MSFT azure cloud shell 控制台(截至 2019-11-17)
  • 带有查询的azure cloud shellaz命令

用例

  • az account listUser_broglock 希望查询从云 shell命令的输出结果中返回字段名称(而不是字段值)

解决方案

  • 完整的命令
az account list --query '@|[0]|keys(@)|[*].{"FieldName":@}' --output table
  • 演示结果
FieldName
-----------
id
name
state
user
isDefault
tenantId
cloudName

解释

  • Azure CLI 使用--query参数执行JMESPath查询
  • JMESPath 支持该keys()函数,该函数返回 JSON 名称-值对对象 (aka dictionary) (aka associative array) (aka HashTable)中的名称
  • 提取后,keys()我们将结果作为名称-值对列表返回:{"Fieldname":<CurrentItemFromList>}...这实质上为我们提供了一个包含一列的表。

图表

图uu0283bluhoyaz-001aa

也可以看看

于 2019-11-17T20:45:06.597 回答