クイック スタート: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 に自動的にはコピーされません。 | |
https://shell.azure.com に移動するか、[Cloud Shell を起動する] ボタンを選択して、ブラウザーで Cloud Shell を開きます。 | |
Azure portal の右上にあるメニュー バーの [Cloud Shell] ボタンを選択します。 |
Azure Cloud Shell を使用するには、以下のようにします。
Cloud Shell を開始します。
コード ブロック (またはコマンド ブロック) の [コピー] ボタンを選択し、コードまたはコマンドをコピーします。
Windows と Linux では Ctrl+Shift+V キーを選択し、macOS では Cmd+Shift+V キーを選択して、コードまたはコマンドを Cloud Shell セッションに貼り付けます。
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 です。
管理 PowerShell プロンプトで次のコマンドを実行します。
# Install the Resource Graph module from PowerShell Gallery Install-Module -Name Az.ResourceGraph
モジュールがインポートされていて、バージョンが
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
パラメーターを使用します。
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
などの並べ替え修飾子を指定していません。そのため、このクエリを複数回実行すると、要求ごとに、得られる一連のリソースが異なる可能性があります。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
がきます。 このコマンドの順序によって、まずクエリ結果が制限され、次にその結果が並べ替えられます。最初に名前プロパティで並べ替え (
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 言語の詳細については、クエリ言語の詳細ページに進んでください。