分享方式:


快速入門:使用 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 中。 Azure Cloud Shell 的「試試看」範例螢幕擷取畫面。
請前往 https://shell.azure.com,或選取 [啟動 Cloud Shell] 按鈕,在瀏覽器中開啟 Cloud Shell。 啟動 Azure Cloud Shell 的按鈕。
選取 Azure 入口網站右上方功能表列上的 [Cloud Shell] 按鈕。 顯示 Azure 入口網站中 Cloud Shell 按鈕的螢幕擷取畫面

若要使用 Azure Cloud Shell:

  1. 啟動 Cloud Shell。

  2. 選取程式碼區塊 (或命令區塊) 上的 [複製] 按鈕以複製程式碼或命令。

  3. 透過在 Windows 和 Linux 上選取 Ctrl+Shift+V;或在 macOS 上選取 Cmd+Shift+V,將程式碼或命令貼到 Cloud Shell 工作階段中。

  4. 選取 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。 若要查詢整個租用戶,請省略要求本文中的 managementgroupssubscriptions 屬性。

在每個 REST API 呼叫的要求本文中,都有一個變數需要取代為您自己的值:

  • {subscriptionID} - 以您的訂用帳戶識別碼取代
  1. 使用 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),因此執行此查詢多次將可能會對每個要求產生一組不同的資源。

  2. 更新 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 之後。 此命令順序會先限制查詢結果,然後再加以排序。

  3. 更新 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 語言,請繼續前往查詢語言詳細資料頁面。