Exempel: Använd Azure-biblioteken för att skapa en resursgrupp
Det här exemplet visar hur du använder Azure SDK-hanteringsbiblioteken i ett Python-skript för att skapa en resursgrupp. (Den Motsvarande Azure CLI-kommando ges senare i den här artikeln. Om du föredrar att använda Azure-portalen kan du läsa Skapa resursgrupper.)
Alla kommandon i den här artikeln fungerar på samma sätt i Linux/macOS bash- och Windows-kommandogränssnitt om de inte anges.
1: Konfigurera din lokala utvecklingsmiljö
Om du inte redan har gjort det konfigurerar du en miljö där du kan köra den här koden. Här följer några alternativ:
Konfigurera en virtuell Python-miljö med hjälp av
venv
eller valfritt verktyg. Du kan skapa den virtuella miljön lokalt eller i Azure Cloud Shell och köra koden där. Var noga med att aktivera den virtuella miljön för att börja använda den.Använd en conda-miljö.
Använd en Dev-container i Visual Studio Code eller GitHub Codespaces.
2: Installera Azure-bibliotekspaketen
Skapa en fil med namnet requirements.txt med följande innehåll:
azure-mgmt-resource
azure-identity
Installera kraven i en terminal eller kommandotolk med den virtuella miljön aktiverad:
pip install -r requirements.txt
3: Skriva kod för att skapa en resursgrupp
Skapa en Python-fil med namnet provision_rg.py med följande kod. Kommentarerna förklarar informationen:
# 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()
Autentisering i koden
Senare i den här artikeln loggar du in på Azure med Azure CLI för att köra exempelkoden. Om ditt konto har behörighet att skapa och lista resursgrupper i din Azure-prenumeration körs koden.
Om du vill använda sådan kod i ett produktionsskript kan du ange miljövariabler så att de använder en tjänsthuvudnamnsbaserad metod för autentisering. Mer information finns i Autentisera Python-appar med Azure-tjänster. Du måste se till att tjänstens huvudnamn har tillräcklig behörighet för att skapa och lista resursgrupper i din prenumeration genom att tilldela den en lämplig roll i Azure, till exempel rollen Deltagare i din prenumeration.
Referenslänkar för klasser som används i koden
4: Kör skriptet
Om du inte redan har gjort det loggar du in på Azure med Hjälp av Azure CLI:
az login
AZURE_SUBSCRIPTION_ID
Ange miljövariabeln till ditt prenumerations-ID. (Du kan köra kommandot az account show och hämta ditt prenumerations-ID frånid
egenskapen i utdata):set AZURE_SUBSCRIPTION_ID=00000000-0000-0000-0000-000000000000
Kör skriptet:
python provision_rg.py
5: Verifiera resursgruppen
Du kan kontrollera att gruppen finns via Azure-portalen eller Azure CLI.
Azure-portalen: öppna Azure-portalen, välj Resursgrupper och kontrollera att gruppen visas. Om du redan har öppnat portalen använder du kommandot Uppdatera för att uppdatera listan.
Azure CLI: använd kommandot az group show :
az group show -n PythonAzureExample-rg
6: Rensa resurser
Kör kommandot az group delete om du inte behöver behålla resursgruppen som skapats i det här exemplet. Resursgrupper debiteras inte några löpande avgifter i din prenumeration, men resurser i resursgruppen kan fortsätta att debiteras. Det är en bra idé att rensa alla grupper som du inte aktivt använder. Argumentet --no-wait
gör att kommandot kan returneras omedelbart i stället för att vänta på att åtgärden ska slutföras.
az group delete -n PythonAzureExample-rg --no-wait
Du kan också använda ResourceManagementClient.resource_groups.begin_delete
metoden för att ta bort en resursgrupp från koden. Den kommenterade koden längst ned i skriptet i den här artikeln visar användningen.
Som referens: motsvarande Azure CLI-kommando
Följande Azure CLI az group create-kommando skapar en resursgrupp med taggar precis som Python-skriptet:
az group create -n PythonAzureExample-rg -l centralus --tags "department=tech" "environment=test"
Se även
- Exempel: Lista resursgrupper i en prenumeration
- Exempel: Skapa Azure Storage
- Exempel: Använda Azure Storage
- Exempel: Skapa en webbapp och distribuera kod
- Exempel: Skapa och fråga en databas
- Exempel: Skapa en virtuell dator
- Använda Azure Managed Disks med virtuella datorer
- Slutför en kort undersökning om Azure SDK för Python