Quickstart: uw eerste Resource Graph-query uitvoeren met Python
De eerste stap voor het gebruik van Azure Resource Graph bestaat uit het controleren of de vereiste bibliotheken voor Python zijn geïnstalleerd. In deze quickstart doorloopt u het proces voor het toevoegen van de bibliotheken aan uw Python-installatie.
Aan het einde van dit proces hebt u de bibliotheken toegevoegd aan uw Python-installatie en hebt u uw eerste Resource Graph-query uitgevoerd.
Vereisten
Als u nog geen Azure-abonnement hebt, maakt u een gratis account voordat u begint.
Azure Cloud Shell
Azure host Azure Cloud Shell, een interactieve shell-omgeving die u via uw browser kunt gebruiken. U kunt Bash of PowerShell gebruiken met Cloud Shell om met Azure-services te werken. U kunt de vooraf geïnstalleerde Cloud Shell-opdrachten gebruiken om de code in dit artikel uit te voeren zonder dat u iets hoeft te installeren in uw lokale omgeving.
Om Azure Cloud Shell op te starten:
Optie | Voorbeeld/koppeling |
---|---|
Selecteer Uitproberen in de rechterbovenhoek van een code- of opdrachtblok. Als u Proberen selecteert, wordt de code of opdracht niet automatisch gekopieerd naar Cloud Shell. | ![]() |
Ga naar https://shell.azure.com, of selecteer de knop Cloud Shell starten om Cloud Shell in uw browser te openen. | ![]() |
Klik op de knop Cloud Shell in het menu in de balk rechtsboven in de Azure-portal. | ![]() |
Azure Cloud Shell gebruiken:
Start Cloud Shell.
Selecteer de knop Kopiëren op een codeblok (of opdrachtblok) om de code of opdracht te kopiëren.
Plak de code of opdracht in de Cloud Shell sessie door Ctrl+Shift+V te selecteren in Windows en Linux of door Cmd+Shift+V in macOS te selecteren.
Selecteer Enter om de code of opdracht uit te voeren.
De Resource Graph-bibliotheek toevoegen
De bibliotheek moet worden toegevoegd opdat Python query's kan uitvoeren voor Azure Resource Graph. Deze bibliotheek werkt waar Python kan worden gebruikt, inclusief bash in Windows 10 of lokaal geïnstalleerd.
Controleer of de meest recente versie van Python is geïnstalleerd (minimaal 3.8). Als deze nog niet is geïnstalleerd, downloadt u deze op Python.org.
Controleer of de meest recente Azure CLI is geïnstalleerd (minimaal 2.5.1). Als deze nog niet is geïnstalleerd, raadpleegt u De Azure CLI installeren.
Notitie
Azure CLI is vereist om Python in te schakelen voor gebruik van de op CLI gebaseerde verificatie in de volgende voorbeelden. Zie Authenticate using the Azure management libraries for Python (Verificatie met de Azure-beheerbibliotheken voor Python) voor meer informatie over andere opties.
Verifieer via Azure CLI.
az login
Installeer in de gewenste Python-omgeving de vereiste bibliotheken voor Azure Resource Graph:
# Add the Resource Graph library for Python pip install azure-mgmt-resourcegraph # Add the Resources library for Python pip install azure-mgmt-resource # Add the CLI Core library for Python for authentication (development only!) pip install azure-cli-core # Add the Azure identity library for Python pip install azure.identity
Notitie
Als Python is geïnstalleerd voor alle gebruikers, moet deze opdracht worden uitgevoerd vanaf een console met verhoogde bevoegdheden.
Controleer of de bibliotheken zijn geïnstalleerd.
azure-mgmt-resourcegraph
moet 2.0.0 of hoger zijn,azure-mgmt-resource
moet 9.0.0 of hoger zijn enazure-cli-core
moet 2.5.0 of hoger zijn.# Check each installed library pip show azure-mgmt-resourcegraph azure-mgmt-resource azure-cli-core azure.identity
Uw eerste Resource Graph-query uitvoeren
Nu de Python-bibliotheken zijn toegevoegd aan uw gewenste omgeving, is het tijd om een eenvoudige Resource Graph-query op basis van een abonnement uit te proberen. De query retourneert de eerste vijf Azure-resources met de naam en het resourcetype van elke resource. Als u een query wilt uitvoeren per beheergroep, gebruikt u de management_groups
parameter met QueryRequest
.
Voer als volgt uw eerste Azure Resource Graph-query uit met de geïnstalleerde bibliotheken en de
resources
-methode:# Import Azure Resource Graph library import azure.mgmt.resourcegraph as arg # Import specific methods and models from other libraries from azure.mgmt.resource import SubscriptionClient from azure.identity import AzureCliCredential # Wrap all the work in a function def getresources( strQuery ): # Get your credentials from Azure CLI (development only!) and get your subscription list credential = AzureCliCredential() subsClient = SubscriptionClient(credential) subsRaw = [] for sub in subsClient.subscriptions.list(): subsRaw.append(sub.as_dict()) subsList = [] for sub in subsRaw: subsList.append(sub.get('subscription_id')) # Create Azure Resource Graph client and set options argClient = arg.ResourceGraphClient(credential) argQueryOptions = arg.models.QueryRequestOptions(result_format="objectArray") # Create query argQuery = arg.models.QueryRequest(subscriptions=subsList, query=strQuery, options=argQueryOptions) # Run query argResults = argClient.resources(argQuery) # Show Python object print(argResults) getresources("Resources | project name, type | limit 5")
Notitie
Omdat deze voorbeeldquery geen sorteermodificator geeft, bijvoorbeeld
order by
, zal deze query waarschijnlijk per aanvraag een andere set resources opleveren als de query meerdere keren wordt uitgevoerd.Werk de aanroep bij naar
getresources
en wijzig de query om teorder by
op de eigenschap Naam:getresources("Resources | project name, type | limit 5 | order by name asc")
Notitie
Net als bij de eerste query zal deze query waarschijnlijk per aanvraag een andere set resources opleveren als de query meerdere keren wordt uitgevoerd. De volgorde van de queryopdrachten is belangrijk. In dit voorbeeld komt
order by
nalimit
. Met deze opdracht worden de queryresultaten eerst beperkt en vervolgens gerangschikt.Werk de aanroep bij naar
getresources
en wijzig de query om eerst teorder by
de eigenschap Naam en daarna de resultaten van de top vijf telimit
:getresources("Resources | project name, type | order by name asc | limit 5")
Wanneer de laatste query meerdere keren wordt uitgevoerd, ervan uitgaande dat niets in uw omgeving verandert, zijn de geretourneerde resultaten consistent en gesorteerd op de eigenschap Naam, maar nog steeds beperkt tot de top vijf.
Resources opschonen
Als u de geïnstalleerde bibliotheken uit uw Python-omgeving wilt verwijderen, kunt u dit doen met de volgende opdracht:
# Remove the installed libraries from the Python environment
pip uninstall azure-mgmt-resourcegraph azure-mgmt-resource azure-cli-core azure.identity
Volgende stappen
In deze quickstart hebt u de Resource Graph-bibliotheken toegevoegd aan uw Python-omgeving en uw eerste query uitgevoerd. Ga verder naar de pagina met details van de querytaal voor meer informatie over de taal van Resource Graph.