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 creare un gruppo di risorse. 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.
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.
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
venv
o 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/Scripts/activate # only required for Windows (Git Bash)
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
Nella console creare un filerequirements.txt che elenca le librerie di gestione usate in questo esempio:
azure-mgmt-resource azure-identity
Nella console con l'ambiente virtuale attivato installare i requisiti:
pip install -r requirements.txt
3. Impostare le variabili di ambiente
In questo passaggio vengono impostate le variabili di ambiente da usare nel codice in questo articolo. Il codice usa il os.environ
metodo per recuperare i valori.
#!/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: Scrivere codice per creare un gruppo di risorse
In questo passaggio viene creato un file Python denominato provision_blob.py con il codice seguente. Questo script Python usa le librerie di gestione di Azure SDK per Python per creare un gruppo di risorse nella sottoscrizione di Azure.
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"]
# 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()
Autenticazione nel codice
Più avanti in questo articolo si accede ad Azure usando l'interfaccia della riga di comando di Azure per eseguire il codice di esempio. Se l'account dispone di autorizzazioni sufficienti per creare gruppi di risorse e risorse di archiviazione nella sottoscrizione di Azure, lo script deve essere eseguito correttamente senza configurazione aggiuntiva.
Per usare questo codice in un ambiente di produzione, eseguire l'autenticazione usando un'entità servizio impostando le variabili di ambiente. Questo approccio consente l'accesso sicuro e automatizzato senza basarsi sull'accesso interattivo. Per indicazioni dettagliate, vedere Come autenticare le app Python con i servizi di Azure.
Assicuratevi che al principale del servizio sia assegnato un ruolo con autorizzazioni sufficienti per creare gruppi di risorse e account di archiviazione. Ad esempio, l'assegnazione del ruolo Collaboratore a livello di sottoscrizione fornisce l'accesso necessario. Per altre informazioni sulle assegnazioni di ruolo, vedere Controllo degli accessi in base al ruolo in Azure.
Collegamenti di riferimento per le classi usate nel codice
- DefaultAzureCredential (azure.identity)
- ResourceManagementClient (azure.mgmt.resource)
5: Eseguire lo script
Se non l'hai già fatto, accedi ad Azure usando l'Azure CLI.
az login
Eseguire lo script:
python provision_rg.py
6: Verificare il gruppo di risorse
È possibile verificare che il gruppo di risorse 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 elencato. Se necessario, usare il comando Refresh per aggiornare l'elenco.
CLI di Azure: usare il comando az group show:
#!/bin/bash az group show -n $AZURE_RESOURCE_GROUP_NAME
7: 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 eliminare qualsiasi gruppo che non si utilizza attivamente. L'argomento --no-wait
consente al comando di restituire immediatamente anziché attendere il completamento dell'operazione.
#!/bin/bash
az group delete -n $AZURE_RESOURCE_GROUP_NAME --no-wait
È anche possibile usare il metodo ResourceManagementClient.resource_groups.begin_delete
per eliminare un gruppo di risorse dal codice. Il codice commentato nella parte inferiore dello script in questo articolo illustra l'utilizzo.
Per riferimento: comando equivalente CLI 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"
Vedere anche
- Esempio di : Elencare i gruppi di risorse in una sottoscrizione
- Esempio: Creare Archiviazione di Azure
- Esempio di : Usare Azure Storage
- Esempio: Creare un'app Web e distribuire il codice
- Esempio: Creare e interrogare un database
- esempio : Creare una macchina virtuale
- Usare Azure Managed Disks con macchine virtuali
- Completare un breve sondaggio su Azure SDK per Python