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 eine Ressourcengruppe zu erstellen. (Der entsprechende Azure CLI-Befehl wird weiter unten in diesem Artikel angegeben. Wenn Sie das Azure-Portal verwenden möchten, lesen Sie " Erstellen von Ressourcengruppen".)
Alle Befehle in diesem Artikel funktionieren in Linux/macOS-Bash- und Windows-Befehlsshells, sofern nicht 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 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 Dev-Container in Visual Studio Code oder GitHub Codespaces.
2: Installieren der Azure-Bibliothekspakete
Erstellen Sie in der Konsole eine requirements.txt Datei, in der die in diesem Beispiel verwendeten Verwaltungsbibliotheken aufgelistet sind:
azure-mgmt-resource azure-identity
Installieren Sie in Ihrer Konsole mit aktivierter virtueller Umgebung die Anforderungen:
pip install -r requirements.txt
3. Festlegen von Umgebungsvariablen
In diesem Schritt legen Sie Umgebungsvariablen für die Verwendung im Code in diesem Artikel fest. Der Code verwendet die os.environ
Methode, um die Werte abzurufen.
#!/bin/bash
export AZURE_RESOURCE_GROUP_NAME=<ResourceGroupName> # Change to your preferred resource group name
export LOCATION=<Location> # Change to your preferred region
export AZURE_SUBSCRIPTION_ID=$(az account show --query id --output tsv)
4: Schreiben von Code zum Erstellen einer Ressourcengruppe
In diesem Schritt erstellen Sie eine Python-Datei mit dem Namen provision_blob.py mit dem folgenden Code. Dieses Python-Skript verwendet das Azure SDK für Python-Verwaltungsbibliotheken, um eine Ressourcengruppe in Ihrem Azure-Abonnement zu erstellen.
Erstellen Sie eine Python-Datei mit dem Namen provision_rg.py mit dem folgenden Code. Die Kommentare erläutern die Details:
# 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"]
# Retrieve resource group name and location from environment variables
RESOURCE_GROUP_NAME = os.environ["AZURE_RESOURCE_GROUP_NAME"]
LOCATION = os.environ["LOCATION"]
# 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(RESOURCE_GROUP_NAME,
{ "location": LOCATION })
print(f"Provisioned resource group {rg_result.name}")
# 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(
RESOURCE_GROUP_NAME,
{
"location": LOCATION,
"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 ausreichende Berechtigungen zum Erstellen von Ressourcengruppen und Speicherressourcen in Ihrem Azure-Abonnement verfügt, sollte das Skript ohne zusätzliche Konfiguration erfolgreich ausgeführt werden.
Um diesen Code in einer Produktionsumgebung zu verwenden, authentifizieren Sie sich mithilfe eines Dienstprinzipals, indem Sie Umgebungsvariablen festlegen. Dieser Ansatz ermöglicht einen sicheren, automatisierten Zugriff, ohne sich auf die interaktive Anmeldung zu verlassen. Ausführliche Anleitungen finden Sie unter Authentifizieren von Python-Apps mit Azure-Diensten.
Stellen Sie sicher, dass dem Dienstprinzipal eine Rolle mit ausreichenden Berechtigungen zum Erstellen von Ressourcengruppen und Speicherkonten zugewiesen ist. Beispielsweise bietet das Zuweisen der Rolle "Mitwirkender" auf Abonnementebene den erforderlichen Zugriff. Weitere Informationen zu Rollenzuweisungen finden Sie unter Rollenbasierte Zugriffssteuerung (Role-based access control, RBAC) in Azure.
Referenzlinks für klassen, die im Code verwendet werden
5: Ausführen des Skripts
Falls noch nicht geschehen, melden Sie sich mit der Azure CLI bei Azure an:
az login
Ausführen des Skripts:
python provision_rg.py
6: Überprüfen der Ressourcengruppe
Sie können überprüfen, ob die Ressourcengruppe über das Azure-Portal oder die Azure CLI vorhanden ist.
Azure-Portal: Öffnen Sie das Azure-Portal, wählen Sie Ressourcengruppen aus, und überprüfen Sie, ob die Gruppe aufgeführt ist. Verwenden Sie bei Bedarf den Befehl "Aktualisieren ", um die Liste zu aktualisieren.
Azure CLI: Verwenden Sie den Befehl "az group show ":
#!/bin/bash az group show -n $AZURE_RESOURCE_GROUP_NAME
7: 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 verursachen möglicherweise weiterhin Gebühren. Es empfiehlt sich, alle Gruppen zu bereinigen, die Sie nicht aktiv verwenden. Mit dem Argument --no-wait
kann der Befehl sofort zurückgegeben werden, anstatt auf den Abschluss des Vorgangs zu warten.
#!/bin/bash
az group delete -n $AZURE_RESOURCE_GROUP_NAME --no-wait
Sie können auch die ResourceManagementClient.resource_groups.begin_delete
-Methode verwenden, um eine Ressourcengruppe aus Code zu löschen. Der kommentierte Code unten im Skript in diesem Artikel veranschaulicht die Verwendung.
Referenz: gleichwertiger 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"
Siehe auch
- Beispiel: Auflisten von Ressourcengruppen in einem Abonnement
- Beispiel: Erstellen von Azure Storage
- 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 von Azure Managed Disks mit virtuellen Computern
- Abschließen einer kurzen Umfrage zum Azure SDK für Python