Compartir vía


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

En este inicio rápido se describe cómo ejecutar una consulta de Azure Resource Graph con la API de REST y ver los resultados. Los elementos de la API de REST son un URI que incluye la versión de la API y el cuerpo de la solicitud que contiene la consulta. En los ejemplos se usa la CLI de Azure para iniciar sesión en Azure y que autentica la cuenta para ejecutar az rest comandos.

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. Para conocer las especificaciones de Azure Resource Graph, consulte API REST de Azure Resource Graph.

Requisitos previos

Conexión con Azure

Desde una sesión de terminal de Visual Studio Code, conéctese a Azure. Si tiene más de una suscripción, ejecute los comandos para establecer el contexto en la suscripción. Reemplace {subscriptionID} con la identificación de su suscripción de Azure.

az login

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

Use az login incluso si usa PowerShell porque los ejemplos usan la CLI de Azure comandos az rest.

Revisión de la sintaxis de la API REST

Hay dos elementos para ejecutar comandos de la API de REST: el URI de la API de REST y el cuerpo de la solicitud. Para obtener información, vaya a Recursos. 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 ejemplo siguiente se muestra la sintaxis del URI de la API de REST para ejecutar una consulta para una suscripción de Azure.

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

Se necesita un cuerpo de la solicitud para ejecutar una consulta con la API de REST. En el ejemplo siguiente se muestra el código JSON para crear un archivo de cuerpo de solicitud.

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

Ejecutar consulta de Resource Graph

En los ejemplos se usa el mismo comando az rest, pero se cambia el cuerpo de la solicitud para obtener resultados diferentes. Los ejemplos enumeran los recursos, ordenan los recursos por la propiedad name y ordenan los recursos por la propiedad name y limitan el número de resultados.

Para ejecutar todos los ejemplos de consulta, use el siguiente comando az rest para su entorno de shell:

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

En PowerShell, se necesita el verso (`) para escapar del at sign (@) para especificar un nombre de archivo para el cuerpo de la solicitud.

En cada ejemplo del cuerpo de la solicitud, reemplace {subscriptionID} por el identificador de suscripción de Azure. Ejecute el siguiente comando para obtener el identificador de suscripción de Azure para el cuerpo de la solicitud:

az account show --query id --output tsv

Enumeración de recursos

En Visual Studio Code, cree un nuevo archivo llamado request-body.json. Copie el siguiente JSON y péguelo en el archivo, luego guarde el archivo.

La consulta devuelve cinco recursos de Azure con el name y resource type de cada recurso.

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

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

Ordenar por propiedad de nombre

Actualice request-body.json con el código siguiente que cambia la consulta para order by la propiedad name. Guarde el archivo y use el comando az rest para ejecutar la consulta.

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

Es probable que si ejecuta 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 los resultados de la consulta a cinco recursos y luego los ordena.

Ordenar por propiedad de nombre y limitar los resultados

Actualice request-body.json con el código siguiente para order by la propiedad name y luego limit a los cinco mejores resultados. Guarde el archivo y use el mismo comando az rest para ejecutar la consulta.

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

Si 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 name, pero se limitarán a los cinco mejores resultados.

Limpieza de recursos

Cerrar sesión de la CLI de Azure.

az logout

Pasos siguientes

En este inicio rápido, ha usado el punto de conexión de la API de REST de Azure Resource Graph para ejecutar una consulta. Para más información sobre el lenguaje de Resource Graph, vaya a la página de detalles del lenguaje de consulta.