Esempio: Usare le librerie di Azure per creare un gruppo di risorse
Questo esempio illustra come usare le librerie di gestione di Azure SDK in uno script Python per creare un gruppo di risorse. (L'oggetto Il comando equivalente dell'interfaccia della riga di comando di Azure viene fornito più avanti in questo articolo. Se si preferisce usare il portale di Azure, vedere Creare gruppi di risorse.
Se non diversamente specificato, tutti i comandi di questo articolo funzionano allo stesso modo nella shell Bash Linux/macOS e nella shell dei comandi di Windows.
1: Configurare l'ambiente di sviluppo locale
Se non è già stato fatto, configurare un ambiente in cui è possibile eseguire questo codice. Di seguito sono riportate alcuni opzioni:
Configurare un ambiente virtuale Python usando o lo
venv
strumento preferito. È possibile creare l'ambiente virtuale in locale o in Azure Cloud Shell ed eseguire il codice. Assicurarsi di attivare l'ambiente virtuale per iniziare a usarlo.Usare un ambiente conda.
Usare un contenitore di sviluppo in Visual Studio Code o GitHub Codespaces.
2: Installare i pacchetti della libreria di Azure
Creare un file denominato requirements.txt con il contenuto seguente:
azure-mgmt-resource
azure-identity
In un terminale o da un prompt dei comandi con l'ambiente virtuale attivato, installare i requisiti:
pip install -r requirements.txt
3: Scrivere codice per creare un gruppo di risorse
Creare un file Python denominato provision_rg.py con il codice seguente. I commenti spiegano i dettagli:
# 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://video2.skills-academy.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()
Autenticazione nel codice
Più avanti in questo articolo si accede ad Azure con l'interfaccia della riga di comando di Azure per eseguire il codice di esempio. Se l'account dispone delle autorizzazioni per creare ed elencare i gruppi di risorse nella sottoscrizione di Azure, il codice verrà eseguito correttamente.
Per usare questo codice in uno script di produzione, è possibile impostare le variabili di ambiente per usare un metodo basato su entità servizio per l'autenticazione. Per altre informazioni, vedere Come autenticare le app Python con i servizi di Azure. È necessario assicurarsi che l'entità servizio disponga di autorizzazioni sufficienti per creare ed elencare i gruppi di risorse nella sottoscrizione assegnandole un ruolo appropriato in Azure, ad esempio il ruolo Collaboratore nella sottoscrizione.
Collegamenti di riferimento per le classi usate nel codice
4: Eseguire lo script
Se non è già stato fatto, accedere ad Azure usando l'interfaccia della riga di comando di Azure:
az login
Impostare la
AZURE_SUBSCRIPTION_ID
variabile di ambiente sull'ID sottoscrizione. È possibile eseguire il comando az account show e ottenere l'IDid
sottoscrizione dalla proprietà nell'output:Eseguire lo script:
python provision_rg.py
5: Verificare il gruppo di risorse
È possibile verificare che il gruppo esista tramite il portale di Azure o l'interfaccia della riga di comando di Azure.
Portale di Azure: aprire il portale di Azure, selezionare Gruppi di risorse e verificare che il gruppo sia presente nell'elenco. Se il portale è già aperto, usare il comando Aggiorna per aggiornare l'elenco.
Interfaccia della riga di comando di Azure: usare il comando az group show :
az group show -n PythonAzureExample-rg
6: Pulire le risorse
Eseguire il comando az group delete se non è necessario mantenere il gruppo di risorse creato in questo esempio. I gruppi di risorse non comportano addebiti in corso nella sottoscrizione, ma le risorse nel gruppo di risorse potrebbero continuare a comportare addebiti. È consigliabile pulire qualsiasi gruppo che non si usa attivamente. Con l'argomento --no-wait
, il comando restituisce immediatamente il risultato invece di attendere il completamento dell'operazione.
az group delete -n PythonAzureExample-rg --no-wait
Per eliminare un gruppo di risorse dal codice, è anche possibile usare il metodo ResourceManagementClient.resource_groups.begin_delete
. Il codice commentato nella parte inferiore dello script in questo articolo illustra l'utilizzo.
Per riferimento: comando equivalente dell'interfaccia della riga di comando di Azure
Il comando az group create dell'interfaccia della riga di comando di Azure seguente crea un gruppo di risorse con tag come lo script Python:
az group create -n PythonAzureExample-rg -l centralus --tags "department=tech" "environment=test"
Vedi anche
- Esempio: Elencare i gruppi di risorse in una sottoscrizione
- Esempio: Creare Archiviazione di Azure
- Esempio: Usare Archiviazione di Azure
- Esempio: Creare un'app Web e distribuire il codice
- Esempio: Creare ed eseguire query su un database
- Esempio: Creare una macchina virtuale
- Usare Azure Managed Disks con le macchine virtuali
- Completare un breve sondaggio su Azure SDK per Python