クイックスタート: Azure CLI を使用して Resource Graph 共有クエリを作成する

このクイックスタートでは、Azure CLI と Resource Graph 拡張機能を使用して、Azure Resource Graph 共有クエリを作成する方法について説明します。 az graph shared-query コマンドは、az graph query の "試験的" 機能 です。

共有クエリは、"試験的" 機能のコマンドを使用して Azure CLI から実行することも、Azure portal から実行することもできます。 共有クエリは、Azure Resource Graph エクスプローラーで権限を与えたり、実行したりできる Azure Resource Manager オブジェクトです。 完了したら、Resource Graph 拡張機能を削除できます。

前提条件

  • Azure アカウントをお持ちでない場合は、開始する前に無料アカウントを作成してください。
  • Azure CLI は、Resource Graph 拡張機能のバージョン 2.22.0 以降である必要があります。
  • Azure CLI コマンドを実行できる Bash シェル環境。 たとえば、Visual Studio Code ターミナル セッションの Git Bash などです。

Azure に接続する

Visual Studio Code ターミナル セッションから Azure に接続します。 複数のサブスクリプションがある場合は、コマンドを実行してコンテキストをサブスクリプションに設定します。 <subscriptionID> は、Azure サブスクリプション ID に置き換えてください。

az login

# Run these commands if you have multiple subscriptions
az account list --output table
az account set --subscription <subscriptionID>

拡張機能をインストールする

Azure CLI で Azure Resource Graph を使用してリソースのクエリを実行できるようにするには、Resource Graph 拡張機能をインストールする必要があります。 az graph で初めてクエリを実行すると、拡張機能をインストールするように求めるプロンプトが表示されます。 それ以外の場合は、次の手順を使用して手動インストールを行います。

  1. 使用可能な拡張機能とバージョンを一覧表示します。

    az extension list-available --output table
    
  2. 拡張機能をインストールします。

    az extension add --name resource-graph
    
  3. 拡張機能がインストールされたことを確認します。

    az extension list --output table
    
  4. 拡張機能の構文を表示します。

    az graph query --help
    

Azure CLI 拡張機能の詳細については、「Azure CLI で拡張機能を使用および管理する」を参照してください。

共有クエリを作成する

リソース グループを作成し、場所ごとにグループ化されたすべてのリソースの数を集計する共有を作成します。

  1. Azure Resource Graph 共有クエリを保存するリソース グループを作成します。

    az group create --name "demoSharedQuery" --location westus2
    
  2. 共有クエリを作成します。

    az graph shared-query create --name "Summarize resources by location" \
      --description "This shared query summarizes resources by location for a pinnable map graphic." \
      --graph-query "Resources | summarize count() by location" \
      --resource-group demoSharedQuery
    
  3. リソース グループ内のすべての共有クエリをリストします。

    az graph shared-query list --resource-group demoSharedQuery
    
  4. 結果を特定の共有クエリに制限します。

    az graph shared-query show --resource-group "demoSharedQuery" \
      --name "Summarize resources by location"
    

共有クエリを実行する

Azure CLI の試験的な機能構文または Azure portal を使用して、共有クエリを実行できます。

試験的機能を使用して共有クエリを実行する

Azure CLI の az graph query コマンドで {{shared-query-uri}} 構文を使用して共有クエリを実行します。 共有クエリのリソース ID を取得し、変数に格納します。 変数は、共有クエリを実行するときに使用されます。

sharedqueryid=$(az graph shared-query show --resource-group "demoSharedQuery" \
  --name "Summarize resources by location" \
  --query id \
  --output tsv)

az graph query --graph-query "{{$sharedqueryid}}"

subscriptions パラメーターを使用して、結果を制限できます。

az graph query --graph-query "{{$sharedqueryid}}" --subscriptions 11111111-1111-1111-1111-111111111111

ポータルから共有クエリを実行する

Azure Resource Graph エクスプローラーを使用して、共有クエリが機能していることを確認できます。 スコープを変更するには、ページの左側にある [スコープ] メニューを使用します。

  1. Azure ポータルにサインインします。
  2. ページの上部にある検索フィールドに「resource graph」と入力します。
  3. [Resource Graph エクスプローラー] を選択します。
  4. [クエリを開く] を選択します。
  5. [Type](種類)[共有クエリ] に変更します。
  6. [Count VMs by OS]\(OS 別に VM をカウント\) クエリを選択します。
  7. [クエリの実行] を選択し、[結果] タブで出力を確認します。

リソース グループからクエリを実行することもできます。

  1. Azure で、リソース グループ demoSharedQuery に移動します。
  2. [概要] タブで、[Count VMs by OS]\(OS 別に VM をカウント\) クエリを選択します。
  3. [結果] タブを選択します。

リソースをクリーンアップする

リソース グループと共有クエリを削除する方法:

az group delete --name demoSharedQuery

Resource Graph 拡張機能を削除するには、次のコマンドを実行します。

az extension remove --name resource-graph

Azure CLI セッションからサインアウトするには:

az logout

次のステップ

このクイックスタートでは、Azure CLI 環境に Resource Graph 拡張機能を追加し、共有クエリを作成しました。 Resource Graph 言語の詳細については、クエリ言語の詳細ページに進んでください。