クイック スタート:Azure PowerShell を使用して最初の Resource Graph クエリを実行します

Azure Resource Graph を使用する最初の手順では、Azure PowerShell のモジュールがインストールされていることを確認します。 このクイック スタートでは、Azure PowerShell のインストールにモジュールを追加するプロセスについて説明します。

このプロセスの最後では、選択した Azure PowerShell のインストールにモジュールを追加して、最初の Resource Graph クエリを実行しています。

前提条件

Azure サブスクリプションをお持ちでない場合は、開始する前に無料アカウントを作成してください。

Azure Cloud Shell

Azure では、ブラウザーを介して使用できる対話型のシェル環境、Azure Cloud Shell がホストされています。 Cloud Shell で Bash または PowerShell を使用して、Azure サービスを操作できます。 ローカル環境に何もインストールしなくても、Cloud Shell にプレインストールされているコマンドを使用して、この記事のコードを実行できます。

Azure Cloud Shell を開始するには、以下のようにします。

オプション 例とリンク
コードまたはコマンド ブロックの右上隅にある [使ってみる] を選択します。 [使ってみる] を選択しても、コードまたはコマンドは Cloud Shell に自動的にはコピーされません。 Screenshot that shows an example of Try It for Azure Cloud Shell.
https://shell.azure.com に移動するか、[Cloud Shell を起動する] ボタンを選択して、ブラウザーで Cloud Shell を開きます。 Button to launch Azure Cloud Shell.
Azure portal の右上にあるメニュー バーの [Cloud Shell] ボタンを選択します。 Screenshot that shows the Cloud Shell button in the Azure portal

Azure Cloud Shell を使用するには、以下のようにします。

  1. Cloud Shell を開始します。

  2. コード ブロック (またはコマンド ブロック) の [コピー] ボタンを選択し、コードまたはコマンドをコピーします。

  3. Windows と Linux では Ctrl+Shift+V キーを選択し、macOS では Cmd+Shift+V キーを選択して、コードまたはコマンドを Cloud Shell セッションに貼り付けます。

  4. Enter キーを選択して、コードまたはコマンドを実行します。

Resource Graph モジュールを追加する

Azure PowerShell を Azure Resource Graph のクエリに対して有効にするには、モジュールを追加する必要があります。 このモジュールは、ローカルにインストールされた PowerShell、Azure Cloud Shell、または PowerShell Docker イメージで使用できます。

基本要件

Azure Resource Graph モジュールには、次のソフトウェアが必要です。

  • Azure PowerShell 1.0.0 以降。 インストールされていない場合は、こちらの手順に従ってください。

  • PowerShellGet 2.0.1 以上。 インストールされていない場合、または更新されていない場合は、こちらの手順に従ってください。

モジュールのインストール

PowerShell の Resource Graph モジュールは、Az.ResourceGraph です。

  1. 管理 PowerShell プロンプトで次のコマンドを実行します。

    # Install the Resource Graph module from PowerShell Gallery
    Install-Module -Name Az.ResourceGraph
    
  2. モジュールがインポートされていて、バージョンが 0.11.0 以降であることを確認します。

    # Get a list of commands for the imported Az.ResourceGraph module
    Get-Command -Module 'Az.ResourceGraph' -CommandType 'Cmdlet'
    

最初の Resource Graph クエリを実行する

Azure PowerShell モジュールが選択した環境に追加されたので、簡単なテナント ベースの Resource Graph クエリを試してみましょう。 このクエリでは、各リソースの名前リソースの種類を使用して、最初の 5 つの Azure リソースが返されます。 管理グループまたはサブスクリプションでクエリするには、-ManagementGroup または -Subscription パラメーターを使用します。

  1. Search-AzGraph コマンドレットを使用して最初の Resource Graph クエリを実行します。

    # Login first with Connect-AzAccount if not using Cloud Shell
    
    # Run Azure Resource Graph query
    Search-AzGraph -Query 'Resources | project name, type | limit 5'
    

    Note

    このクエリ例では、order by などの並べ替え修飾子を指定していません。そのため、このクエリを複数回実行すると、要求ごとに、得られる一連のリソースが異なる可能性があります。

  2. order by名前プロパティに対するクエリを更新します。

    # Run Azure Resource Graph query with 'order by'
    Search-AzGraph -Query 'Resources | project name, type | limit 5 | order by name asc'
    

    Note

    最初のクエリと同様に、このクエリを複数回実行すると要求あたり異なる一連のリソースを中断する可能性があります。 クエリ コマンドの順序が重要です。 この例では、limit の後に order by がきます。 このコマンドの順序によって、まずクエリ結果が制限され、次にその結果が並べ替えられます。

  3. 最初に名前プロパティで並べ替え (order by) を行ってから結果を上位 5 件に制限 (limit) するようにクエリを更新します。

    # Store the query in a variable
    $query = 'Resources | project name, type | order by name asc | limit 5'
    
    # Run Azure Resource Graph query with `order by` first, then with `limit`
    Search-AzGraph -Query $query
    

最後のクエリを複数回実行した場合、環境内で何も変更がないと仮定すると、返される結果は変わらず、Name プロパティで並べ替えられますが、引き続き上位 5 件の結果に制限されます。

Note

既にアクセスできているサブスクリプションからクエリの結果が返されなかった場合、Search-AzGraph コマンドレットでは既定コンテキストのサブスクリプションが既定で使用されることに注意してください。 既定のコンテキストの一部であるサブスクリプション ID の一覧を表示するには、この (Get-AzContext).Account.ExtendedProperties.Subscriptions を実行します。アクセスできるすべてのサブスクリプション全体を検索する場合は、$PSDefaultParameterValues=@{"Search-AzGraph:Subscription"= $(Get-AzSubscription).ID} を実行して Search-AzGraph コマンドレットの PSDefaultParameterValues を設定できます

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

Resource Graph モジュールを Azure PowerShell 環境から削除する場合は、次のコマンドを使用して行うことができます。

# Remove the Resource Graph module from the current session
Remove-Module -Name 'Az.ResourceGraph'

# Uninstall the Resource Graph module from the environment
Uninstall-Module -Name 'Az.ResourceGraph'

Note

これによって、以前にダウンロードしたモジュール ファイルが削除されることはありません。 実行中の PowerShell セッションから削除されるだけです。

次のステップ

このクイックスタートでは、Azure PowerShell 環境に Resource Graph モジュールを追加し、最初のクエリを実行しました。 Resource Graph 言語の詳細については、クエリ言語の詳細ページに進んでください。