jmespathを使用したAzure CLIクエリJSON出力


Azure CLI RETUNS JSONの出力デフォルト.正しい情報を見つけるには、JSONパスを使用してJSON文字列を照会します.Azure CLIは--queryパラメーターで値を渡すことができます.
我々はAzureのCLIにジャンプする前に、我々はもう少し詳細を見つけるためにJmesPathの基礎に飛び込むことができます.
以下のサンプルJSONがあると仮定しましょう
{
    "employees":
    [
        {
            "name": "Wriju", 
            "email": "[email protected]",
            "city": "Bangalore"        
        },
        {
            "name": "Wrishika", 
            "sal":
            {
                "jan":"100",
                "feb":"200"
            }
        },
        {
            "name": "Wrishika", 
            "email": "[email protected]",
            "city": "Mysore",
            "sal":
            {
                "jan":"100",
                "feb":"200"
            }
        },
        {
            "name": "Writam", 
            "email": "[email protected]",
            "city": "Siliguri"
        }
    ]
}
我々が書くことができるすべての値を得るためにemployeesそれからすべての値を返します.フィールドnameだけから値を表示する場合は、使用することができます
employee[*].name
これは
[
  "Wriju",
  "Wrishika",
  "Wrishika",
  "Writam"
]
ここで、SunプロパティからJAN値を読みたいと思います
employee[1].sal.jan
など.
azure cliで出力結果をフィルタリングすることもできます.情報が保存されているVMの管理者ユーザ名を取得したい場合
"osProfile": {
      "adminPassword": null,
      "adminUsername": "wriju",
      "allowExtensionOperations": true,
      "computerName": "wm-Ubuntu18",
      ...
それで、我々はosProfile.adminUsernameを使うことができます
最終的な紺碧のCLIのようになります.
az vm show -g rg-vm -n wm-Ubuntu18 --query "osProfile.adminUsername"