Inicio rápido: Ejecución de la primera consulta de Resource Graph mediante la API REST

El primer paso para usar Azure Resource Graph con la API REST es comprobar que tiene a su disposición alguna herramienta para llamar a las API REST. Este inicio rápido le guía por el proceso de ejecutar una consulta y recuperar los resultados mediante una llamada al punto de conexión de la API REST de Azure Resource Graph.

Al final de este proceso, tendrá las herramientas necesarias para llamar a los puntos de conexión de la API REST y ejecutar la primera consulta de Resource Graph.

Requisitos previos

Si no tiene una suscripción a Azure, cree una cuenta gratuita antes de empezar.

Azure Cloud Shell

En Azure se hospeda Azure Cloud Shell, un entorno de shell interactivo que puede utilizar mediante el explorador. Puede usar Bash o PowerShell con Cloud Shell para trabajar con los servicios de Azure. Puede usar los comandos preinstalados de Cloud Shell para ejecutar el código de este artículo sin tener que instalar nada en su entorno local.

Para iniciar Azure Cloud Shell:

Opción Ejemplo o vínculo
Seleccione Pruébelo en la esquina superior derecha de un bloque de código o de comandos. Solo con seleccionar Pruébelo no se copia automáticamente el código o comando en Cloud Shell. Screenshot that shows an example of Try It for Azure Cloud Shell.
Vaya a https://shell.azure.com o seleccione el botón Iniciar Cloud Shell para abrir Cloud Shell en el explorador. Button to launch Azure Cloud Shell.
Seleccione el botón Cloud Shell en la barra de menús de la esquina superior derecha de Azure Portal. Screenshot that shows the Cloud Shell button in the Azure portal

Para usar Azure Cloud Shell:

  1. Inicie Cloud Shell.

  2. Seleccione el botón Copiar en un bloque de código (o bloque de comandos) para copiar el código o comando.

  3. Pegue el código o comando en la sesión de Cloud Shell. Para ello, seleccione Ctrl+Mayús+V en Windows y Linux, o bien seleccione Cmd+Mayús+V en macOS.

  4. Seleccione Intro para ejecutar el código o comando.

Introducción a la API REST

Si no está familiarizado con la API REST, comience por revisar la Referencia de la API REST de Azure para obtener una descripción general de la API REST, específicamente el identificador URI de la solicitud y el cuerpo de la solicitud. En este artículo se utilizan estos conceptos para proporcionar instrucciones para trabajar con Azure Resource Graph y se da por supuesto un conocimiento práctico del mismo. Herramientas como ARMClient y otras pueden controlar la autorización automáticamente y se recomiendan para principiantes.

Para conocer las especificaciones de Azure Resource Graph, consulte API REST de Azure Resource Graph.

API REST y PowerShell

Si aún no tiene una herramienta para realizar llamadas de API REST, considere el uso de PowerShell para estas instrucciones. El siguiente código de ejemplo obtiene un encabezado para realizar la autenticación con Azure. Genere un encabezado de autenticación, a veces llamado Token de portador, y proporcione el identificador URI de la API REST al que conectarse con cualquier parámetro o un cuerpo de la solicitud:

# 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

La variable $responsecontiene el resultado del cmdlet Invoke-RestMethod, que puede analizarse con cmdlets como ConvertFrom-Json. Si el punto de conexión de servicio de la API REST espera un cuerpo de la solicitud, proporcione una variable con formato JSON al parámetro -Body de Invoke-RestMethod.

Ejecutar la primera consulta de Resource Graph

Una vez agregadas las herramientas de API REST al entorno elegido, es el momento de probar una consulta simple de Resource Graph basada en suscripción. La consulta devolverá los cinco primeros recursos de Azure con el nombre y el tipo de recurso de cada recurso. Para realizar una consulta por grupo de administración, use managementgroups en lugar de subscriptions. Para realizar una consulta en todo el inquilino, omita las propiedades managementgroups y subscriptions del cuerpo de la solicitud.

En el cuerpo de la solicitud de cada llamada a la API REST, hay una variable que se usa que debe reemplazar por su propio valor:

  • {subscriptionID}: reemplácelo por el identificador de suscripción
  1. Ejecute la primera consulta de Azure Resource Graph mediante la API REST y el punto de conexión resources:

    • URI DE LA API REST

      POST https://management.azure.com/providers/Microsoft.ResourceGraph/resources?api-version=2021-03-01
      
    • Cuerpo de la solicitud

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

    Nota

    Como esta consulta de ejemplo no proporciona un modificador de ordenación como order by, es probable que al ejecutar esta consulta varias veces se produzca un conjunto diferente de recursos por solicitud.

  2. Actualice la llamada al punto de conexión resouces y cambie el valor de query a ordenanar por nombre de propiedad (order byName):

    • URI DE LA API REST

      POST https://management.azure.com/providers/Microsoft.ResourceGraph/resources?api-version=2021-03-01
      
    • Cuerpo de la solicitud

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

    Nota

    Al igual que con la primera consulta, es probable que al ejecutar esta consulta varias veces se produzca un conjunto diferente de recursos por solicitud. El orden de los comandos de consulta es importante. En este ejemplo, el order by viene después del limit. Este orden de comandos limita primero los resultados de la consulta y, luego, los ordena.

  3. Actualice la llamada al punto de conexión resources y, primero, cambie el valor de query a ordenar por nombre (order byName) y, después, ordenar por limit los cinco primeros resultados:

    • URI DE LA API REST

      POST https://management.azure.com/providers/Microsoft.ResourceGraph/resources?api-version=2021-03-01
      
    • Cuerpo de la solicitud

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

Cuando la consulta final se ejecuta varias veces, suponiendo que nada cambie en su entorno, los resultados devueltos serán coherentes y estarán ordenados por la propiedad Nombre, pero todavía limitados a los cinco primeros resultados.

Para más ejemplos de llamadas de la API REST para Azure Resource Graph, consulte la sección de ejemplos de REST de Azure Resource Graph.

Limpieza de recursos

La API REST no tiene bibliotecas ni módulos que se desinstalen. Si ha instalado una herramienta como ARMClient para realizar las llamadas y ya no la necesita, puede desinstalarla ahora mismo.

Pasos siguientes

En este inicio rápido, ha llamado al punto de conexión de la API REST de Resource Graph y ha ejecutado la primera consulta. Para más información sobre el lenguaje de Resource Graph, vaya a la página de detalles del lenguaje de consulta.