Beispiel: Verwenden der Azure-Bibliotheken zum Erstellen einer Ressourcengruppe
In diesem Beispiel wird veranschaulicht, wie die Azure SDK-Verwaltungsbibliotheken in einem Python-Skript verwendet werden, um eine Ressourcengruppe zu erstellen. (Den äquivalenten Azure CLI-Befehl finden Sie weiter unten in diesem Artikel. Wenn Sie das Azure-Portal bevorzugen, finden Sie weitere Informationen unter Erstellen von Ressourcengruppen".)
Alle Befehle in diesem Artikel funktionieren in Linux-/macOS-Bash- und Windows-Befehlsshells identisch, sofern nicht anders angegeben.
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 mithilfe von
venv
oder dem Tool Ihrer Wahl. Sie können die virtuelle Umgebung lokal oder in Azure Cloud Shell erstellen und den Code dort ausführen. Stellen Sie sicher, dass Sie die virtuelle Umgebung aktivieren, um sie verwenden zu können.Verwenden Sie eine Conda-Umgebung.
Verwenden Sie einen Entwicklungscontainer 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 zum Erstellen einer Ressourcengruppe
Erstellen Sie eine Python-Datei mit dem Namen provision_rg.py und dem folgenden Code. Die Details werden in den Kommentaren erläutert:
# Import the needed credential and management objects from the libraries.
import os
from azure.identity import DefaultAzureCredential
from azure.mgmt.resource import ResourceManagementClient
# Acquire a credential object using DevaultAzureCredential.
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)
# Provision the resource group.
rg_result = resource_client.resource_groups.create_or_update(
"PythonAzureExample-rg", {"location": "centralus"}
)
# Within the ResourceManagementClient is an object named resource_groups,
# which is of class ResourceGroupsOperations, which contains methods like
# create_or_update.
#
# The second parameter to create_or_update here is technically a ResourceGroup
# object. You can create the object directly using ResourceGroup(location=
# LOCATION) or you can express the object as inline JSON as shown here. For
# details, see Inline JSON pattern for object arguments at
# https://learn.microsoft.com/azure/developer/python/sdk
# /azure-sdk-library-usage-patterns#inline-json-pattern-for-object-arguments
print(
f"Provisioned resource group {rg_result.name} in the {rg_result.location} region"
)
# The return value is another ResourceGroup object with all the details of the
# new group. In this case the call is synchronous: the resource group has been
# provisioned by the time the call returns.
# To update the resource group, repeat the call with different properties, such
# as tags:
rg_result = resource_client.resource_groups.create_or_update(
"PythonAzureExample-rg",
{
"location": "centralus",
"tags": {"environment": "test", "department": "tech"},
},
)
print(f"Updated resource group {rg_result.name} with tags")
# Optional lines to delete the resource group. begin_delete is asynchronous.
# poller = resource_client.resource_groups.begin_delete(rg_result.name)
# result = poller.result()
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.
Zur Verwendung eines solchen Codes in einem Produktionsskript können Sie Umgebungsvariablen so festlegen, dass eine dienstprinzipalbasierte Methode zur 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 des Skripts
Wenn Sie das noch nicht getan haben, melden Sie sich mithilfe 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 derid
Eigenschaft in der Ausgabe abrufen):Ausführen des Skripts:
python provision_rg.py
5: Überprüfen der Ressourcengruppe
Sie können mithilfe des Azure-Portals oder der Azure CLI überprüfen, ob die Gruppe vorhanden ist.
Azure-Portal: Öffnen Sie das Azure-Portal, wählen Sie Ressourcengruppen aus, und überprüfen Sie, ob die Gruppe aufgeführt ist. Wenn das Portal bereits geöffnet war, verwenden Sie den Befehl Aktualisieren, um die Liste zu aktualisieren.
Azure CLI: Verwenden Sie den Befehl az group show:
az group show -n PythonAzureExample-rg
6: Bereinigen von Ressourcen
Führen Sie den Befehl az group delete aus, wenn Sie die in diesem Beispiel erstellte Ressourcengruppe nicht beibehalten müssen. Ressourcengruppen verursachen keine laufenden Gebühren in Ihrem Abonnement, aber Ressourcen in der Ressourcengruppe können weiterhin Gebühren verursachen. Es hat sich bewährt, jede Gruppe zu bereinigen, die Sie nicht aktiv verwenden. Das Argument --no-wait
ermöglicht die direkte Rückgabe des Befehls, und es muss nicht auf den Abschluss des Vorgangs gewartet werden.
az group delete -n PythonAzureExample-rg --no-wait
Sie können auch die ResourceManagementClient.resource_groups.begin_delete
-Methode verwenden, um eine Ressourcengruppe aus dem Code zu löschen. Der kommentierte Code unten im Skript in diesem Artikel veranschaulicht die Verwendung.
Zur Referenz: äquivalenter Azure CLI-Befehl
Der folgende Azure CLI-Befehl az group create erstellt eine Ressourcengruppe mit Tags genau wie das Python-Skript:
az group create -n PythonAzureExample-rg -l centralus --tags "department=tech" "environment=test"
Weitere Informationen
- Beispiel: Auflisten von Ressourcengruppen in einem Abonnement
- Beispiel: Erstellen einer Azure Storage-Instanz
- Beispiel: Verwenden von Azure Storage
- Beispiel: Erstellen einer Web-App und Bereitstellen von Code
- Beispiel: Erstellen und Abfragen einer Datenbank
- Beispiel: Erstellen eines virtuellen Computers
- Verwenden verwalteter Azure-Datenträger mit den Azure-Bibliotheken (SDK) für Python
- Kurze Umfrage zum Azure SDK für Python