Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
In diesem Beispiel wird veranschaulicht, wie Sie die Azure SDK-Verwaltungsbibliotheken in einem Python-Skript verwenden, um zwei Aufgaben auszuführen:
- Listet alle Ressourcengruppen in einem Azure-Abonnement auf.
- Auflisten von Ressourcen innerhalb 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 sind einige Optionen:
- Konfigurieren Sie eine virtuelle Python-Umgebung mit
venv
oder Ihrem Wahltool. Um mit der Verwendung der virtuellen Umgebung zu beginnen, müssen Sie sie aktivieren. Informationen zum Installieren von Python finden Sie unter Installieren von Python.
#!/bin/bash
# Create a virtual environment
python -m venv .venv
# Activate the virtual environment
source .venv/Scripts/activate # only required for Windows (Git Bash)
Verwenden Sie eine conda-Umgebung. Informationen zum Installieren von Conda finden Sie unter Installieren von Miniconda.
Verwenden Sie einen Entwicklungscontainer in Visual Studio Code oder GitHub Codespaces.
2: Installieren der Azure-Bibliothekspakete
Erstellen Sie eine Datei mit dem Namen requirements.txt mit folgendem Inhalt:
azure-mgmt-resource
azure-identity
Installieren Sie in einer Terminal- oder Eingabeaufforderung mit aktivierter virtueller Umgebung die Anforderungen:
pip install -r requirements.txt
3: Schreiben von Code für die Arbeit mit Ressourcengruppen
3a. Ressourcengruppen in einem Abonnement auflisten
Erstellen Sie eine Python-Datei mit dem Namen list_groups.py mit dem folgenden Code. Die Kommentare erläutern die Details:
# 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 innerhalb einer bestimmten Ressourcengruppe
Erstellen Sie eine Python-Datei mit dem Namen list_resources.py mit dem folgenden Code. In den Kommentaren werden die Details erläutert.
Standardmäßig listet der Code Ressourcen in "myResourceGroup" auf. Um eine andere Ressourcengruppe zu verwenden, legen Sie die Umgebungsvariable RESOURCE_GROUP_NAME
auf den gewünschten Gruppennamen fest.
# 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. Beispielsweise die Rolle "Mitwirkender" in Ihrem Abonnement.
Referenzlinks für klassen, die im Code verwendet werden
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 denid
Eigenschaften in der Ausgabe abrufen):export AZURE_SUBSCRIPTION_ID=00000000-0000-0000-0000-000000000000
Auflisten aller Ressourcengruppen im Abonnement:
python list_groups.py
Auflisten aller Ressourcen in einer Ressourcengruppe:
python list_resources.py
Standardmäßig listet der Code Ressourcen in "myResourceGroup" auf. Um eine andere Ressourcengruppe zu verwenden, legen Sie die Umgebungsvariable
RESOURCE_GROUP_NAME
auf den gewünschten Gruppennamen fest.
Referenz: entsprechende 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
Siehe auch
- 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 Sie Azure Managed Disks mit virtuellen Maschinen
- Eine kurze Umfrage zum Azure SDK für Python abschließen