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
- Antes de comenzar, si no tiene una cuenta de Azure, cree una gratuita.
- Versión más reciente de PowerShell o un shell de Bash como Git Bash.
- Versión más reciente de la CLI de Azure.
- Visual Studio Code.
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.