快速入門:使用 REST API 執行您的第一個 Resource Graph 查詢
搭配 REST API 使用 Azure Resource Graph 的第一步是檢查您是否有可呼叫 REST API 的工具。 接著,本快速入門會逐步引導您呼叫 Azure Resource Graph REST API 端點來執行查詢並擷取結果。
在此程序結束時,您將會有用來呼叫 REST API 端點的工具,並可執行您的第一個 Resource Graph 查詢。
必要條件
如果您沒有 Azure 訂用帳戶,請在開始前建立免費帳戶。
Azure Cloud Shell
Azure Cloud Shell 是裝載於 Azure 中的互動式殼層環境,可在瀏覽器中使用。 您可以使用 Bash 或 PowerShell 搭配 Cloud Shell,與 Azure 服務共同使用。 您可以使用 Cloud Shell 預先安裝的命令,執行本文提到的程式碼,而不必在本機環境上安裝任何工具。
要啟動 Azure Cloud Shell:
選項 | 範例/連結 |
---|---|
選取程式碼或命令區塊右上角的 [試試看]。 選取 [試試看] 並不會自動將程式碼或命令複製到 Cloud Shell 中。 | ![]() |
請前往 https://shell.azure.com,或選取 [啟動 Cloud Shell] 按鈕,在瀏覽器中開啟 Cloud Shell。 | ![]() |
選取 Azure 入口網站右上方功能表列上的 [Cloud Shell] 按鈕。 | ![]() |
若要使用 Azure Cloud Shell:
啟動 Cloud Shell。
選取程式碼區塊 (或命令區塊) 上的 [複製] 按鈕以複製程式碼或命令。
透過在 Windows 和 Linux 上選取 Ctrl+Shift+V;或在 macOS 上選取 Cmd+Shift+V,將程式碼或命令貼到 Cloud Shell 工作階段中。
選取 Enter 鍵執行程式碼或命令。
開始使用 REST API
如果您不熟悉 REST API,請先詳閱 Azure REST API 參考,以對 REST API 有一般的了解,特別是要求 URI 和要求本文。 本文使用這些概念提供使用 Azure Resource Graph 的方向,而且假設您已具備其使用知識。 ARMClient 這類工具及其他元件可自動處理授權,建議初學者使用它們。
如需 Azure Resource Graph 的規格,請參閱 Azure Resource Graph REST API。
REST API 和 PowerShell
如果您還沒有發出 REST API 呼叫的工具,請考慮使用 PowerShell 取得這些指示。 下列程式碼範例會取得向 Azure 進行驗證的標頭。 產生驗證標頭 (有時也稱為持有人權杖),並提供 REST API URI 以連接到任何參數或要求本文:
# Log in first with Connect-AzAccount if not using Cloud Shell
$azContext = Get-AzContext
$azProfile = [Microsoft.Azure.Commands.Common.Authentication.Abstractions.AzureRmProfileProvider]::Instance.Profile
$profileClient = New-Object -TypeName Microsoft.Azure.Commands.ResourceManager.Common.RMProfileClient -ArgumentList ($azProfile)
$token = $profileClient.AcquireAccessToken($azContext.Subscription.TenantId)
$authHeader = @{
'Content-Type'='application/json'
'Authorization'='Bearer ' + $token.AccessToken
}
# Invoke the REST API
$restUri = "https://management.azure.com/subscriptions/$($azContext.Subscription.Id)?api-version=2020-01-01"
$response = Invoke-RestMethod -Uri $restUri -Method Get -Headers $authHeader
$response
變數會保存 Invoke-RestMethod
Cmdlet 的結果,其可使用 ConvertFrom-Json 這類的 Cmdlet 加以剖析。 如果 REST API 服務端點應該有要求本文,請提供一個 JSON 格式的變數給 Invoke-RestMethod
的 -Body
參數。
執行第一個 Resource Graph 查詢
在 REST API 工具新增至您選擇的環境後,您就可以試試看簡單的訂用帳戶型 Resource Graph 查詢。 查詢會傳回前五個 Azure 資源,以及每個資源的名稱與資源類型。 若要依管理群組查詢,請使用 managementgroups
而非 subscriptions
。 若要查詢整個租用戶,請省略要求本文中的 managementgroups
和 subscriptions
屬性。
在每個 REST API 呼叫的要求本文中,都有一個變數需要取代為您自己的值:
{subscriptionID}
- 以您的訂用帳戶識別碼取代
使用 REST API 和
resources
端點來執行您的第一個 Azure Resource Graph 查詢:REST API URI
POST https://management.azure.com/providers/Microsoft.ResourceGraph/resources?api-version=2021-03-01
要求本文
{ "subscriptions": [ "{subscriptionID}" ], "query": "Resources | project name, type | limit 5" }
注意
由於此查詢範例並未提供排序修飾詞 (例如
order by
),因此執行此查詢多次將可能會對每個要求產生一組不同的資源。更新
resouces
端點的呼叫,並將查詢變更為order by
名稱 屬性:REST API URI
POST https://management.azure.com/providers/Microsoft.ResourceGraph/resources?api-version=2021-03-01
要求本文
{ "subscriptions": [ "{subscriptionID}" ], "query": "Resources | project name, type | limit 5 | order by name asc" }
注意
如同第一個查詢一樣,多次執行此查詢可能會為每個要求產生不同的資源集。 查詢命令的順序很重要。 在此範例中,
order by
會出現在limit
之後。 此命令順序會先限制查詢結果,然後再加以排序。更新
resources
端點的呼叫,並變更查詢,以先order by
名稱屬性,然後limit
為只顯示前五個結果:REST API URI
POST https://management.azure.com/providers/Microsoft.ResourceGraph/resources?api-version=2021-03-01
要求本文
{ "subscriptions": [ "{subscriptionID}" ], "query": "Resources | project name, type | order by name asc | limit 5" }
執行最終查詢數次後,假設您的環境中未變更任何內容,傳回的結果將會一致,且依名稱屬性排序,但仍限制為只顯示前五個結果。
如需更多 Azure Resource Graph 的 REST API 呼叫範例,請參閱 Azure Resource Graph REST 範例。
清除資源
REST API 沒有可解除安裝的程式庫或模組。 如果您安裝了如 ARMClient 之類工具來進行呼叫且不再需要它,您可以立即解除安裝該工具。
下一步
在本快速入門中,您已呼叫 Resource Graph REST API 端點,並執行了您的第一個查詢。 若要深入了解 Resource Graph 語言,請繼續前往查詢語言詳細資料頁面。
意見反映
https://aka.ms/ContentUserFeedback。
即將推出:我們會在 2024 年淘汰 GitHub 問題,並以全新的意見反應系統取代並作為內容意見反應的渠道。 如需更多資訊,請參閱:提交及檢視以下的意見反映: