快速入门:使用 Azure CLI 运行 Resource Graph 查询

本快速入门介绍如何使用 Azure CLI 和 Resource Graph 扩展运行 Azure Resource Graph 查询。 本文还演示如何对查询结果进行排序和限定。 可以针对租户、管理组或订阅中的资源运行查询。 完成后,可以删除扩展。

先决条件

  • 如果没有 Azure 帐户,请在开始前创建一个试用帐户
  • Azure CLI 必须是 Resource Graph 扩展的 2.22.0 或更高版本。
  • 可在其中运行 Azure CLI 命令的 Bash shell 环境。 例如,在 Visual Studio Code 终端会话中的 Git Bash。

安装扩展

若要使 Azure CLI 能够使用 Azure Resource Graph 查询资源,必须安装 Resource Graph 扩展。 首次运行带有 az graph 的查询时,会显示一个安装扩展的提示。 否则,请使用以下步骤进行手动安装。

  1. 列出可用的扩展和版本:

    az extension list-available --output table
    
  2. 安装扩展:

    az extension add --name resource-graph
    
  3. 验证是否已安装扩展:

    az extension list --output table
    
  4. 显示扩展的语法:

    az graph query --help
    

    有关 Azure CLI 扩展详细信息,请转到使用和管理 Azure CLI 的扩展

连接到 Azure

从 Visual Studio Code 终端会话连接到 Azure。 如果具有多个订阅,请运行命令以将上下文设置为你的订阅。 将 <subscriptionID> 替换为你的 Azure 订阅 ID。

az login

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

运行查询

将 Azure CLI 扩展添加到环境后,可以运行基于租户的查询。 此示例中的查询返回五个 Azure 资源,其中包含每个资源的 nametype。 若要按管理组或订阅进行查询,请使用 --management-groups--subscriptions 参数。

  1. 运行 Azure Resource Graph 查询:

    az graph query --graph-query 'Resources | project name, type | limit 5'
    

    此查询示例不使用排序修饰符,如 order by。 如果多次运行查询,每次请求可能会产生一组不同的资源。

  2. 更新查询以 order by name 属性:

    az graph query --graph-query 'Resources | project name, type | limit 5 | order by name asc'
    

    与前一个查询一样,如果多次运行此查询,可能会为每个请求生成一组不同的资源。 查询命令的顺序非常重要。 在本例中,order by 位于 limit 之后。 查询将结果限制为五个资源,然后按名称对这些结果进行排序。

  3. 更新查询以 order by name 属性,然后将输出 limit 为五个结果:

    az graph query --graph-query 'Resources | project name, type | order by name asc | limit 5'
    

    如果在不改变环境的情况下多次运行此查询,结果将保持一致,并按 name 属性排序,但仍仅限于五个结果。 查询按名称对结果进行排序,然后将输出限制为五个资源。

清理资源

若要删除 Resource Graph 扩展,请运行以下命令:

az extension remove --name resource-graph

若要退出登录 Azure CLI 会话,请执行以下操作:

az logout

后续步骤

在本快速入门中,使用 Azure CLI 的扩展运行了 Azure Resource Graph 查询。 若要详细了解 Resource Graph 语言,请继续阅读查询语言详细信息页。