Rychlý start: Spuštění prvního dotazu Resource Graph pomocí Ruby

Prvním krokem k používání Azure Resource Graph je zkontrolovat, jestli jsou nainstalované požadované klenoty pro Ruby. Tento rychlý start vás provede procesem přidání drahokamů do instalace Ruby.

Na konci tohoto procesu jste do instalace Ruby přidali gemy a spustili svůj první dotaz Resource Graph.

Požadavky

  • Pokud ještě nemáte předplatné Azure, vytvořte si bezplatný účet před tím, než začnete.
  • Instanční objekt Azure, včetně id klienta a clientSecret.

Použití služby Azure Cloud Shell

Azure hostí interaktivní prostředí Azure Cloud Shell, které můžete používat v prohlížeči. Pro práci se službami Azure můžete v prostředí Cloud Shell použít buď Bash, nebo PowerShell. K spuštění kódu v tomto článku můžete použít Cloud Shell předinstalované příkazy, aniž byste museli instalovat cokoli do místního prostředí.

Spuštění služby Azure Cloud Shell:

Možnost Příklad nebo odkaz
Zvolte Vyzkoušet v pravém horním rohu bloku kódu. Výběr Vyzkoušet automaticky nekopíruje kód do služby Cloud Shell. Screenshot that shows an example of Try It for Azure Cloud Shell.
Přejděte na adresu https://shell.azure.com nebo výběrem tlačítka Spustit Cloud Shell otevřete Cloud Shell v prohlížeči. Screenshot that shows how to launch Cloud Shell in a new window.
Zvolte tlačítko Cloud Shell v pruhu nabídky v pravém horním rohu webu Azure Portal. Screenshot that shows the Cloud Shell button in the Azure portal

Pokud chcete spustit kód uvedený v tomto článku ve službě Azure Cloud Shell, postupujte takto:

  1. Spusťte Cloud Shell.

  2. Vyberte tlačítko Kopírovat na bloku kódu a kód zkopírujte.

  3. Vložte kód do relace Cloud Shell tak, že vyberete CtrlShiftV++ na Windows a Linuxu nebo vyberete CmdShiftV++ v macOS.

  4. Spusťte kód stisknutím klávesy Enter.

Vytvoření projektu Resource Graph

Pokud chcete Ruby povolit dotazování Azure Resource Graph, musí být gem přidán do Gemfile. Tento klenot funguje všude, kde je možné Ruby používat, včetně Azure Cloud Shell, bash na Windows 10 nebo místně nainstalovaného.

  1. Zkontrolujte, jestli je nainstalovaná nejnovější verze Ruby (alespoň 2.7.1). Pokud ještě není nainstalovaný, stáhněte si ho na Ruby-Lang.org.

  2. Ve zvoleném prostředí Ruby inicializujete sadu v nové složce projektu:

    # Initialize a bundle to create a new Gemfile
    bundle init
    
  3. Aktualizujte si Gemfile drahokamy potřebné pro Azure Resource Graph. Aktualizovaný soubor by měl vypadat podobně jako v tomto příkladu:

    # frozen_string_literal: true
    
    source "https://rubygems.org"
    
    git_source(:github) {|repo_name| "https://github.com/#{repo_name}" }
    
    # gem "rails"
    gem 'azure_mgmt_resourcegraph', '~> 0.17.2'
    
  4. Ze složky projektu spusťte bundle install. Potvrďte, že byly gemy nainstalovány s bundle list.

  5. Ve stejné složce projektu vytvořte argQuery.rb následující kód a uložte aktualizovaný soubor:

    #!/usr/bin/env ruby
    
    require 'azure_mgmt_resourcegraph'
    ARG = Azure::ResourceGraph::Profiles::Latest::Mgmt
    
    # Get arguments and set options
    options = {
        tenant_id: ARGV[0],
        client_id: ARGV[1],
        client_secret: ARGV[2],
        subscription_id: ARGV[3]
    }
    
    # Create Resource Graph client from options
    argClient = ARG::Client.new(options)
    
    # Create Resource Graph QueryRequest for subscription with query
    query_request = ARGModels::QueryRequest.new.tap do |qr|
        qr.subscriptions = [ARGV[3]]
        qr.query = ARGV[4]
    end
    
    # Get the resources from Resource Graph
    response = argClient.resources(query_request)
    
    # Convert data to JSON and output
    puts response.data.to_json
    

Spusťte nejdříve dotaz na Resource Graph použitím Azure CLI

S uloženým a připraveným skriptem Ruby je čas vyzkoušet jednoduchý dotaz Resource Graph. Dotaz vrátí prvních pět prostředků Azure s názvem a typem prostředku každého prostředku.

V každém volání argQueryexistují proměnné, které se používají k nahrazení vlastními hodnotami:

  • {tenantId} – Nahraďte ID tenanta.
  • {clientId} – Nahraďte ID klienta vašeho instančního objektu.
  • {clientSecret} – Nahraďte tajným klíčem klienta vašeho instančního objektu.
  • Proměnnou {subscriptionId} nahraďte ID předplatného.
  1. Změňte adresáře do složky projektu, ve které jste vytvořili Gemfile soubory.argClient.rb

  2. Spusťte svůj první dotaz azure Resource Graph pomocí drahokamů resources a metody:

    ruby argQuery.rb "{tenantId}" "{clientId}" "{clientSecret}" "{subscriptionId}" "Resources | project name, type | limit 5"
    

    Poznámka

    Na tento dotaz příklad neposkytuje modifikátor řazení jako order by, opakované spouštění tohoto dotazu pravděpodobně poskytne jinou sadu zdrojů na jednu žádost.

  3. Změňte poslední parametr na argQuery.rb vlastnost Name a změňte dotaz na order by vlastnost Name :

    ruby argQuery.rb "{tenantId}" "{clientId}" "{clientSecret}" "{subscriptionId}" "Resources | project name, type | limit 5 | order by name asc"
    

    Poznámka

    Stejně jako u prvního dotazu opakované spouštění tohoto dotazu pravděpodobně poskytne jinou sadu zdrojů na jednu žádost. Pořadí příkazů dotazů je důležité. V tomto příkladu order by přichází po limit. Toto pořadí příkazů nejprve omezuje výsledky dotazu a pak je objednává.

  4. Změňte poslední parametr na argQuery.rb vlastnost Name a změňte dotaz na první order by vlastnost Name a pak limit na prvních pět výsledků:

    ruby argQuery.rb "{tenantId}" "{clientId}" "{clientSecret}" "{subscriptionId}" "Resources | project name, type | order by name asc | limit 5"
    

Když se konečný dotaz spustí několikrát, za předpokladu, že se nic ve vašem prostředí nemění, vrácené výsledky jsou konzistentní a seřazené vlastností Name , ale stále omezeny na prvních pět výsledků.

Vyčištění prostředků

Pokud chcete z prostředí Ruby odebrat nainstalované gemy, můžete to udělat pomocí následujícího příkazu:

# Remove the installed gems from the Ruby environment
gem uninstall azure_mgmt_resourcegraph

Poznámka

Gem azure_mgmt_resourcegraph má závislosti, například ms_rest a ms_rest_azure které se mohly nainstalovat také v závislosti na vašem prostředí. Tyto gemy můžete odinstalovat i v případě, že už je nepotřebujete.

Další kroky

V tomto rychlém startu jste přidali Resource Graph drahokamy do prostředí Ruby a spustili svůj první dotaz. Další informace o jazyce Resource Graph najdete na stránce podrobností dotazovacího jazyka.