Voorbeeld: De Azure-bibliotheken gebruiken om resourcegroepen en resources weer te geven
In dit voorbeeld ziet u hoe u de Azure SDK-beheerbibliotheken in een Python-script gebruikt om twee taken uit te voeren:
- Vermeld alle resourcegroepen in een Azure-abonnement.
- Resources binnen een specifieke resourcegroep weergeven.
Alle opdrachten in dit artikel werken hetzelfde in Linux-/macOS-bash- en Windows-opdrachtshells, tenzij vermeld.
De equivalente Azure CLI-opdrachten worden verderop in dit artikel vermeld.
1: Uw lokale ontwikkelomgeving instellen
Als u dit nog niet hebt gedaan, stelt u een omgeving in waarin u deze code kunt uitvoeren. Hieronder volgen een aantal opties:
Configureer een virtuele Python-omgeving met behulp van
venv
of uw hulpprogramma naar keuze. U kunt de virtuele omgeving lokaal of in Azure Cloud Shell maken en daar de code uitvoeren. Zorg ervoor dat u de virtuele omgeving activeert om deze te gaan gebruiken.Gebruik een Conda-omgeving.
Gebruik een Dev-container in Visual Studio Code of GitHub Codespaces.
2: De Azure-bibliotheekpakketten installeren
Maak een bestand met de naam requirements.txt met de volgende inhoud:
azure-mgmt-resource
azure-identity
Installeer de vereisten in een terminal of opdrachtprompt waarbij de virtuele omgeving is geactiveerd:
pip install -r requirements.txt
3: Code schrijven om te werken met resourcegroepen
3a. Resourcegroepen weergeven in een abonnement
Maak een Python-bestand met de naam list_groups.py met de volgende code. In de opmerkingen worden de details uitgelegd:
# Import the needed credential and management objects from the libraries.
from azure.identity import DefaultAzureCredential
from azure.mgmt.resource import ResourceManagementClient
import os
# Acquire a credential object.
credential = DefaultAzureCredential()
# Retrieve subscription ID from environment variable.
subscription_id = os.environ["AZURE_SUBSCRIPTION_ID"]
# Obtain the management object for resources.
resource_client = ResourceManagementClient(credential, subscription_id)
# Retrieve the list of resource groups
group_list = resource_client.resource_groups.list()
# Show the groups in formatted output
column_width = 40
print("Resource Group".ljust(column_width) + "Location")
print("-" * (column_width * 2))
for group in list(group_list):
print(f"{group.name:<{column_width}}{group.location}")
3b. Resources binnen een specifieke resourcegroep weergeven
Maak een Python-bestand met de naam list_resources.py met de volgende code. In de opmerkingen worden de details uitgelegd.
Standaard bevat de code resources in 'myResourceGroup'. Als u een andere resourcegroep wilt gebruiken, stelt u de RESOURCE_GROUP_NAME
omgevingsvariabele in op de gewenste groepsnaam.
# Import the needed credential and management objects from the libraries.
from azure.identity import DefaultAzureCredential
from azure.mgmt.resource import ResourceManagementClient
import os
# Acquire a credential object.
credential = DefaultAzureCredential()
# Retrieve subscription ID from environment variable.
subscription_id = os.environ["AZURE_SUBSCRIPTION_ID"]
# Retrieve the resource group to use, defaulting to "myResourceGroup".
resource_group = os.getenv("RESOURCE_GROUP_NAME", "myResourceGroup")
# Obtain the management object for resources.
resource_client = ResourceManagementClient(credential, subscription_id)
# Retrieve the list of resources in "myResourceGroup" (change to any name desired).
# The expand argument includes additional properties in the output.
resource_list = resource_client.resources.list_by_resource_group(
resource_group, expand = "createdTime,changedTime")
# Show the groups in formatted output
column_width = 36
print("Resource".ljust(column_width) + "Type".ljust(column_width)
+ "Create date".ljust(column_width) + "Change date".ljust(column_width))
print("-" * (column_width * 4))
for resource in list(resource_list):
print(f"{resource.name:<{column_width}}{resource.type:<{column_width}}"
f"{str(resource.created_time):<{column_width}}{str(resource.changed_time):<{column_width}}")
Verificatie in de code
Verderop in dit artikel meldt u zich aan bij Azure met de Azure CLI om de voorbeeldcode uit te voeren. Als uw account machtigingen heeft om resourcegroepen in uw Azure-abonnement te maken en weer te geven, wordt de code uitgevoerd.
Als u dergelijke code in een productiescript wilt gebruiken, kunt u omgevingsvariabelen instellen om een op een service-principal gebaseerde methode voor verificatie te gebruiken. Zie Python-apps verifiëren met Azure-services voor meer informatie. U moet ervoor zorgen dat de service-principal voldoende machtigingen heeft om resourcegroepen in uw abonnement te maken en weer te geven door deze toe te wijzen aan een juiste rol in Azure, bijvoorbeeld de rol Inzender voor uw abonnement.
Referentiekoppelingen voor klassen die in de code worden gebruikt
4: De scripts uitvoeren
Als u dat nog niet hebt gedaan, meldt u zich aan bij Azure met behulp van de Azure CLI:
az login
Stel de
AZURE_SUBSCRIPTION_ID
omgevingsvariabele in op uw abonnements-id. (U kunt de opdracht az account show uitvoeren en uw abonnements-id ophalen uit deid
eigenschap in de uitvoer):Alle resourcegroepen in het abonnement weergeven:
python list_groups.py
Alle resources in een resourcegroep weergeven:
python list_resources.py
Standaard bevat de code resources in 'myResourceGroup'. Als u een andere resourcegroep wilt gebruiken, stelt u de
RESOURCE_GROUP_NAME
omgevingsvariabele in op de gewenste groepsnaam.
Ter referentie: equivalente Azure CLI-opdrachten
De volgende Azure CLI-opdracht bevat resourcegroepen in een abonnement:
az group list
De volgende opdracht bevat resources in de 'myResourceGroup' in de regio centralus (het location
argument is nodig om een specifiek datacenter te identificeren):
az resource list --resource-group myResourceGroup --location centralus
Zie ook
- Voorbeeld: Een resourcegroep inrichten
- Voorbeeld: Azure Storage inrichten
- Voorbeeld: Azure Storage gebruiken
- Voorbeeld: Een web-app inrichten en code implementeren
- Voorbeeld: Een database inrichten en er query's op uitvoeren
- Voorbeeld: Een virtuele machine inrichten
- Azure Managed Disks gebruiken met virtuele machines
- Een korte enquête over de Azure SDK voor Python voltooien