Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Questo esempio illustra come usare le librerie di gestione di Azure SDK in uno script Python per eseguire due attività:
- Elencare tutti i gruppi di risorse in una sottoscrizione di Azure.
- Elencare le risorse all'interno di un gruppo di risorse specifico.
Tutti i comandi in questo articolo funzionano allo stesso modo nelle shell dei comandi bash linux/macOS e Windows, a meno che non sia specificato.
I comandi equivalenti dell'interfaccia della riga di comando di Azure sono elencati più avanti in questo articolo.
1: Configurare l'ambiente di sviluppo locale
Se non è già stato fatto, configurare un ambiente in cui è possibile eseguire questo codice. Ecco alcune opzioni:
- Configurare un ambiente virtuale Python usando
venvo lo strumento preferito. Per iniziare a usare l'ambiente virtuale, assicurarsi di attivarlo. Per installare Python, vedere Installare Python.
#!/bin/bash
# Create a virtual environment
python -m venv venv
# Activate the virtual environment
source venv/bin/activate
Usa un ambiente conda . Per installare Conda, vedere Installare Miniconda.
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 un prompt dei comandi con l'ambiente virtuale attivato, installare i requisiti:
pip install -r requirements.txt
3: Scrivere codice per lavorare con i gruppi di risorse
3a. Elencare i gruppi di risorse in una sottoscrizione
Creare un file Python denominato list_groups.py con il codice seguente. I commenti spiegano i dettagli:
# 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. Elencare le risorse all'interno di un gruppo di risorse specifico
Creare un file Python denominato list_resources.py con il codice seguente. I commenti spiegano i dettagli.
Per impostazione predefinita, il codice elenca le risorse in myResourceGroup. Per usare un gruppo di risorse diverso, impostare la RESOURCE_GROUP_NAME variabile di ambiente sul nome del gruppo desiderato.
# 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}}")
Autenticazione nel codice
Più avanti in questo articolo si accede a Azure usando il 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 Azure, il codice viene eseguito correttamente.
Per usare questo codice in uno script di produzione, imposta le variabili di ambiente per usare un metodo di autenticazione basato su un service principal. Per altre informazioni, vedere Come autenticare le app Python con i servizi di Azure. Assicurarsi che l'entità servizio disponga delle autorizzazioni necessarie per creare e visualizzare l'elenco dei gruppi di risorse nella propria sottoscrizione assegnandole un ruolo appropriato in Azure; ad esempio, il ruolo Contributor nella propria sottoscrizione.
Collegamenti di riferimento per le classi usate nel codice
- DefaultAzureCredential (azure.identity)
- ResourceManagementClient (azure.mgmt.resource)
4: Eseguire gli script
Se non è già stato fatto, accedere a Azure usando il interfaccia della riga di comando di Azure:
az loginImpostare la
AZURE_SUBSCRIPTION_IDvariabile di ambiente sull'ID dell'abbonamento. (Esegui il comando az account show e ottieni l'ID della sottoscrizione dalla proprietàidnell'output):export AZURE_SUBSCRIPTION_ID=00000000-0000-0000-0000-000000000000Elencare tutti i gruppi di risorse nella sottoscrizione:
python list_groups.pyElencare tutte le risorse in un gruppo di risorse:
python list_resources.pyPer impostazione predefinita, il codice elenca le risorse in
myResourceGroup. Per usare un gruppo di risorse diverso, impostare laRESOURCE_GROUP_NAMEvariabile di ambiente sul nome del gruppo desiderato.
Per riferimento: comandi equivalenti interfaccia della riga di comando di Azure
Il comando dell'interfaccia della riga di comando di Azure seguente elenca i gruppi di risorse in una sottoscrizione:
az group list
Il comando seguente elenca le risorse all'interno di nell'area myResourceGroup centralus (l'argomento location è necessario per identificare un data center specifico):
az resource list --resource-group myResourceGroup --location centralus
Vedere anche
- Esempio: Effettuare il provisioning di un gruppo di risorse
- Esempio: Configurare lo spazio di archiviazione su Azure
- Esempio: Usare Archiviazione di Azure
- Esempio: Effettuare il provisioning di un'app Web e distribuire il codice
- Esempio: Configurare ed eseguire query su un database
- Esempio: Effettuare il provisioning di una macchina virtuale
- Usare Azure Managed Disks con le macchine virtuali
- Completare un breve sondaggio su Azure SDK per Python