Beispiel: Verwenden der Azure-Bibliotheken zum Auflisten von Ressourcengruppen und Ressourcen
In diesem Beispiel wird veranschaulicht, wie die Azure SDK-Verwaltungsbibliotheken in einem Python-Skript verwendet werden, um zwei Aufgaben auszuführen:
- Auflisten aller Ressourcengruppen in einem Azure-Abonnement
- Auflisten von Ressourcen in einer bestimmten Ressourcengruppe
Alle Befehle in diesem Artikel funktionieren in Linux-/macOS-Bash- und Windows-Befehlsshells identisch, sofern nicht anders angegeben.
Die entsprechenden Azure CLI-Befehle werden weiter unten in diesem Artikel aufgeführt.
1: Einrichten Ihrer lokalen Entwicklungsumgebung
Falls noch nicht geschehen, richten Sie eine Umgebung ein, in der Sie diesen Code ausführen können. Hier einige Optionen:
Konfigurieren Sie eine virtuelle Python-Umgebung. Sie können die virtuelle Umgebung lokal oder in Azure Cloud Shell erstellen und den Code dort ausführen. Aktivieren Sie unbedingt die virtuelle Umgebung, um sie zu verwenden.
Verwenden Sie eine Conda-Umgebung.
Verwenden Sie einen Dev-Container in Visual Studio Code oder GitHub Codespaces.
2: Installieren der Azure-Bibliothekspakete
Erstellen Sie eine Datei namens requirements.txt mit folgendem Inhalt:
azure-mgmt-resource
azure-identity
Installieren Sie in einem Terminal oder einer Eingabeaufforderung bei aktivierter virtueller Umgebung die Voraussetzungen:
pip install -r requirements.txt
3: Schreiben von Code für die Arbeit mit Ressourcengruppen
3a. Auflisten von Ressourcengruppen in einem Abonnement
Erstellen Sie eine Python-Datei mit dem Namen list_groups.py und dem folgenden Code. Die Details werden in den Kommentaren erläutert:
# 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. Auflisten von Ressourcen in einer bestimmten Ressourcengruppe
Erstellen Sie eine Python-Datei mit dem Namen list_resources.py und dem folgenden Code. Die Details werden in den Kommentaren erläutert:
Ressourcen werden vom Code standardmäßig in „myResourceGroup“ aufgelistet. Legen Sie die Umgebungsvariable RESOURCE_GROUP_NAME
auf den gewünschten Gruppennamen fest, um eine andere Ressourcengruppe zu verwenden.
# 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}}")
Authentifizierung im Code
Später in diesem Artikel melden Sie sich mit der Azure CLI bei Azure an, um den Beispielcode auszuführen. Wenn Ihr Konto über Berechtigungen zum Erstellen und Auflisten von Ressourcengruppen in Ihrem Azure-Abonnement verfügt, wird der Code erfolgreich ausgeführt.
Um diesen Code in einem Produktionsskript zu verwenden, können Sie Umgebungsvariablen so festlegen, dass eine dienstprinzipalbasierte Methode für die Authentifizierung verwendet wird. Weitere Informationen finden Sie unter Authentifizieren von Python-Apps mit Azure-Diensten. Sie müssen sicherstellen, dass der Dienstprinzipal über ausreichende Berechtigungen zum Erstellen und Auflisten von Ressourcengruppen in Ihrem Abonnement verfügt, indem Sie ihm eine entsprechende Rolle in Azure zuweisen, z. B. die Rolle "Mitwirkender " in Ihrem Abonnement.
Referenzlinks für im Code verwendete Klassen
4: Ausführen der Skripts
Falls noch nicht geschehen, melden Sie sich mit der Azure CLI bei Azure an:
az login
Legen Sie die
AZURE_SUBSCRIPTION_ID
Umgebungsvariable auf Ihre Abonnement-ID fest. (Sie können den Befehl "az account show" ausführen und Ihre Abonnement-ID aus der Eigenschaft in derid
Ausgabe abrufen):Auflisten aller Ressourcengruppen im Abonnement:
python list_groups.py
Auflisten aller Ressourcen in einer Ressourcengruppe:
python list_resources.py
Ressourcen werden vom Code standardmäßig in „myResourceGroup“ aufgelistet. Legen Sie die Umgebungsvariable
RESOURCE_GROUP_NAME
auf den gewünschten Gruppennamen fest, um eine andere Ressourcengruppe zu verwenden.
Zur Referenz: äquivalente Azure CLI-Befehle
Der folgende Azure CLI-Befehl listet Ressourcengruppen in einem Abonnement auf:
az group list
Der folgende Befehl listet Ressourcen innerhalb der "myResourceGroup" in der zentralen Region auf (das location
Argument ist erforderlich, um ein bestimmtes Rechenzentrum zu identifizieren):
az resource list --resource-group myResourceGroup --location centralus
Weitere Informationen
- Beispiel: Bereitstellen einer Ressourcengruppe
- Beispiel: Bereitstellen von Azure Storage
- Beispiel: Verwenden von Azure Storage
- Beispiel: Bereitstellen einer Web-App und Bereitstellen von Code
- Beispiel: Bereitstellen und Abfragen einer Datenbank
- Beispiel: Bereitstellen eines virtuellen Computers
- Verwenden verwalteter Azure-Datenträger mit den Azure-Bibliotheken (SDK) für Python
- Kurze Umfrage zum Azure SDK für Python
Feedback
https://aka.ms/ContentUserFeedback.
Bald verfügbar: Im Laufe des Jahres 2024 werden wir GitHub-Issues stufenweise als Feedbackmechanismus für Inhalte abbauen und durch ein neues Feedbacksystem ersetzen. Weitere Informationen finden Sie unterFeedback senden und anzeigen für