Inicio rápido: Ejecución de la primera consulta de Resource Graph con JavaScript

Este inicio rápido le guiará a través del proceso de incorporación de las bibliotecas a la instalación de JavaScript. El primer paso para usar Azure Resource Graph es inicializar una aplicación de JavaScript con las bibliotecas necesarias.

Cuando finalice el proceso, habrá agregado las bibliotecas a la instalación de JavaScript y ejecutado su primera consulta de Resource Graph.

Requisitos previos

  • Suscripción de Azure: si no tiene una suscripción a Azure, cree una cuenta gratuita antes de empezar.

  • Node.js: se requiere Node.js versión 12 o posterior.

Inicialización de aplicaciones

Para permitir que JavaScript consulte Azure Resource Graph, debe configurarse el entorno. Este programa de instalación funciona siempre que se pueda usar JavaScript, incluido bash en Windows 10.

  1. Inicialice un nuevo proyecto de Node.js mediante la ejecución del siguiente comando.

    npm init -y
    
  2. Agregue una referencia al módulo yargs.

    npm install yargs
    
  3. Agregue una referencia al módulo de Azure Resource Graph.

    npm install @azure/arm-resourcegraph
    
  4. Agregue una referencia a la biblioteca de autenticación de Azure.

    npm install @azure/identity
    

    Nota

    Compruebe en el archivo package.json que @azure/arm-resourcegraph sea la versión 4.2.1 o posterior y que @azure/identity, sea la versión 2.0.4 o posterior.

Consulta de Resource Graph

  1. Cree un nuevo archivo denominado index.js y escriba el código siguiente.

    const argv = require("yargs").argv;
    const { DefaultAzureCredential } = require("@azure/identity");
    const { ResourceGraphClient } = require("@azure/arm-resourcegraph");
    
    if (argv.query) {
        const query = async () => {
           const credentials = new DefaultAzureCredential();
           const client = new ResourceGraphClient(credentials);
           const result = await client.resources(
              {
                  query: argv.query
              },
              { resultFormat: "table" }
           );
           console.log("Records: " + result.totalRecords);
           console.log(result.data);
        };
    
        query();
    }
    

    Nota

    Este código crea una consulta basada en inquilino. Para limitar la consulta a un grupo de administración o una suscripción, defina y agregue una solicitud de consulta a la llamada client.resources y especifique managementGroups o subscriptions.

  2. En el terminal, escriba el siguiente comando:

    node index.js --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.

  3. Cambie el primer parámetro a index.js y cambie la consulta para realizar la operación order by en la propiedad Nombre.

    node index.js --query "Resources | project name, type | limit 5 | order by name asc"
    

    A medida que el script intenta autenticarse, se muestra un mensaje similar al siguiente en el terminal:

    Para iniciar sesión, use un explorador web para abrir la página https://microsoft.com/devicelogin y escriba el código FGB56WJUGK para autenticarse.

    Una vez que se autentica en el explorador, el script continúa ejecutándose.

    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.

  4. Cambie el primer parámetro a index.js y cambie la consulta para realizar la operación order by primero en la propiedad Nombre y, luego, para realizar la operación limit a los cinco primeros resultados.

    node index.js --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.

Limpieza de recursos

Si desea quitar las bibliotecas instaladas de la aplicación, ejecute el siguiente comando.

npm uninstall @azure/arm-resourcegraph @azure/identity yargs

Pasos siguientes

En este inicio rápido, ha agregado las bibliotecas de Resource Graph al entorno de JavaScript y ha ejecutado su primera consulta. Para más información sobre el lenguaje de Resource Graph, vaya a la página de detalles del lenguaje de consulta.