AzureCLIの出力結果から取得したい項目だけを取り出す

AzureCLI AzureCLI

AZコマンドの出力結果をJSON形式で扱い、取得したい項目だけを取り出す方法をまとめてみました。

AzureCLIの通常の出力だと出力される情報が多いため、必要な情報を取得するために結果を加工する方法として利用できるかと思いますので、参考としていただければと思います。

インターフェースはpowershellで実行しています。

広告

powershellコマンド例

リソースグループの一覧からリソースグループ名だけを取得してみます。

$list = az group list | ConvertFrom-Json
$list.name

実行結果

以下のようにリソースグループ名だけを出力することができました。

PS C:\> $list = az group list | ConvertFrom-Json
PS C:\> $list.name
Test-RG
Test-RG2

[参考]そのまま出力させた場合

[az group list] だけを実行すると以下のような出力になります。

PS C:\> az group list
[
  {
    "id": "/subscriptions/xxxxxx/resourceGroups/Test-RG",
    "location": "japaneast",
    "managedBy": null,
    "name": "Default-Networking",
    "properties": {
      "provisioningState": "Succeeded"
    },
    "tags": null,
    "type": "Microsoft.Resources/resourceGroups"
  },
  {
    "id": "/subscriptions/xxxxxx/resourceGroups/Test-RG2",
    "location": "japaneast",
    "managedBy": null,
    "name": "Test-RG",
    "properties": {
      "provisioningState": "Succeeded"
    },
    "tags": null,
    "type": "Microsoft.Resources/resourceGroups"
  }
]
PS C:\>

リソースグループでは上記のような項目しかありませんが、仮想マシンなどのオプションの多いリソースでは1リソースに対して出力される情報がとても多いので、出力を加工してほしい情報だけを取得できるようにするととても見やすいです。

またスクリプトとして組むときにもこの手法は有用かと思いますので参考としていただければ幸いです。

タイトルとURLをコピーしました