分享方式:


快速入門:使用 Azure CLI 執行 Resource Graph 查詢

本快速入門說明如何使用 REST API 執行 Azure Resource Graph 查詢以及檢視結果。 REST API 元素是 URI,其中包含 API 版本和含有查詢的要求本文。 這些範例使用 Azure CLI 登入 Azure,並驗證您的帳戶以執行 az rest 命令。

如果您不熟悉 REST API,請先詳閱 Azure REST API 參考,以對 REST API 有一般的了解,特別是要求 URI 和要求本文。 如需 Azure Resource Graph 規格,請參閱 Azure Resource Graph REST API

必要條件

連接到 Azure

從 Visual Studio Code 終端機工作階段中連線到 Azure。 如果您有多個訂用帳戶,請執行命令來設定您訂用帳戶的內容。 使用您的 Azure 訂用帳戶識別碼來取代 {subscriptionID}

az login

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

即使您使用的是 PowerShell,也請使用 az login,因為範例使用 Azure CLI az rest 命令。

檢閱 REST API 語法

有兩個元素可執行 REST API 命令:REST API URI 和要求本文。 如需詳細資訊,請移至資源。 若要依管理群組查詢,請使用 managementGroups 而非 subscriptions。 若要查詢整個租用戶,請省略要求本文中的 managementGroupssubscriptions 屬性。

下列範例示範可執行 Azure 訂用帳戶查詢的 REST API URI 語法。

POST https://management.azure.com/providers/Microsoft.ResourceGraph/resources?api-version=2022-10-01

需要要求本文,才能使用 REST API 執行查詢。 以下範例是用於建立要求本文檔案的 JSON。

{
  "subscriptions": [
    "{subscriptionID}"
  ],
  "query": "Resources | project name, type | limit 5"
}

執行 Resource Graph 查詢

這些範例使用相同的 az rest 命令,但您可變更要求本文以取得不同的結果。 這些範例列出資源、依 name 屬性排序資源,以及依 name 屬性排序資源並限制結果數目。

若要執行所有查詢範例,請在殼層環境中使用下列 az rest 命令:

az rest --method post --uri https://management.azure.com/providers/Microsoft.ResourceGraph/resources?api-version=2022-10-01 --body `@request-body.json

在 PowerShell 中,需要使用反引號 (`) 來逸出 at sign (@),以指定要求本文的檔名。

在每個要求本文範例中,將 {subscriptionID} 取代為您的 Azure 訂用帳戶識別碼。 執行下列命令以取得要求本文的 Azure 訂用帳戶識別碼:

az account show --query id --output tsv

列出資源

在 Visual Studio Code 中,建立名為 request-body.json 的新檔案。 將下列 JSON 複製並貼到檔案中,然後儲存檔案。

查詢會傳回五個 Azure 資源,包含每個資源的 nameresource type

{
  "subscriptions": [
    "{subscriptionID}"
  ],
  "query": "Resources | project name, type | limit 5"
}

因為此查詢範例並未提供排序修飾詞 (例如 order by),所以執行此查詢多次會對每個要求產生一組不同的資源。

依名稱屬性排序

使用下列程式碼來更新 request-body.json,以將查詢變更為 order by name 屬性。 儲存檔案並使用 az rest 命令來執行查詢。

{
  "subscriptions": [
    "{subscriptionID}"
  ],
  "query": "Resources | project name, type | limit 5 | order by name asc"
}

如果您多次執行此查詢,則會對每個要求產生一組不同的資源。

查詢命令的順序很重要。 在此範例中,order by 會出現在 limit 之後。 此命令順序會將查詢結果限制為五個資源,然後加以排序。

依名稱屬性排序並限制結果

使用下列程式碼將 request-body.json 更新為 order by name 屬性,然後 limit 為前五個結果。 儲存檔案並使用相同的 az rest 命令來執行查詢。

{
  "subscriptions": [
    "{subscriptionID}"
  ],
  "query": "Resources | project name, type | order by name asc | limit 5"
}

如果此查詢執行數次,假設您的環境中毫無改變,則傳回的結果一致並依 name 屬性排序,但受限於前五個結果。

清除資源

登出您的 Azure CLI 工作階段。

az logout

下一步

在本快速入門中,您使用了 Azure Resource Graph REST API 端點來執行查詢。 若要深入了解 Resource Graph 語言,請繼續前往查詢語言詳細資料頁面。