Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
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
venvof uw hulpprogramma naar keuze. Als u de virtuele omgeving wilt gaan gebruiken, moet u deze activeren. Om Python te installeren, raadpleeg Python installeren.
#!/bin/bash
# Create a virtual environment
python -m venv .venv
# Activate the virtual environment
source .venv/Scripts/activate # only required for Windows (Git Bash)
Gebruik een Conda-omgeving. Zie Miniconda installeren om Conda te installeren.
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 lijst de code bronnen op 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 een geschikte rol in Azure toe te wijzen; 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 loginStel de
AZURE_SUBSCRIPTION_IDomgevingsvariabele in op uw abonnements-id. (U kunt de opdracht az account show uitvoeren en uw abonnements-id ophalen uit deideigenschap in de uitvoer):export AZURE_SUBSCRIPTION_ID=00000000-0000-0000-0000-000000000000Alle resourcegroepen in het abonnement weergeven:
python list_groups.pyAlle resources in een resourcegroep weergeven:
python list_resources.pyStandaard lijst de code bronnen op in "myResourceGroup". Als u een andere resourcegroep wilt gebruiken, stelt u de
RESOURCE_GROUP_NAMEomgevingsvariabele in op de gewenste groepsnaam.
Ter referentie: equivalente Azure CLI-opdrachten
De volgende Azure CLI-opdracht somt resourcegroepen op 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