Notes
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Cet exemple montre comment utiliser les bibliothèques de gestion du Kit de développement logiciel (SDK) Azure dans un script Python pour créer un groupe de ressources. (La commande Azure CLI équivalente est donnée plus loin dans cet article. Si vous préférez utiliser le portail Azure, consultez Créer des groupes de ressources.)
Toutes les commandes de cet article fonctionnent de la même façon dans les interpréteurs de commandes Linux/macOS bash et Windows, sauf indication contraire.
1 : Configurer votre environnement de développement local
Si ce n’est déjà fait, configurez un environnement dans lequel vous pouvez exécuter ce code. Voici quelques options :
Configurez un environnement virtuel Python à l’aide de
venv
ou de votre outil de choix. Pour commencer à utiliser l’environnement virtuel, veillez à l’activer. Pour installer Python, consultez Installer 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)
Utilisez un environnement conda. Pour installer Conda, consultez Installer Miniconda.
Utilisez un conteneur de développement dans Visual Studio Code ou GitHub Codespaces.
2 : Installer les packages de bibliothèque Azure
Dans votre console, créez un fichier requirements.txt qui répertorie les bibliothèques de gestion utilisées dans cet exemple :
azure-mgmt-resource azure-identity
Dans votre console avec l’environnement virtuel activé, installez les conditions requises :
pip install -r requirements.txt
3. Définir des variables d’environnement
Dans cette étape, vous définissez des variables d’environnement à utiliser dans le code de cet article. Le code utilise la os.environ
méthode pour récupérer les valeurs.
#!/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 : Écrire du code pour créer un groupe de ressources
Dans cette étape, vous créez un fichier Python nommé provision_blob.py avec le code suivant. Ce script Python utilise le Kit de développement logiciel (SDK) Azure pour les bibliothèques de gestion Python pour créer un groupe de ressources dans votre abonnement Azure.
Créez un fichier Python nommé provision_rg.py avec le code suivant. Les commentaires expliquent les détails :
# 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()
Authentification dans le code
Plus loin dans cet article, vous vous connectez à Azure à l’aide d’Azure CLI pour exécuter l’exemple de code. Si votre compte dispose des autorisations suffisantes pour créer des groupes de ressources et des ressources de stockage dans votre abonnement Azure, le script doit s’exécuter correctement sans configuration supplémentaire.
Pour utiliser ce code dans un environnement de production, authentifiez-vous à l’aide d’un principal de service en définissant des variables d’environnement. Cette approche permet un accès sécurisé et automatisé sans compter sur la connexion interactive. Pour obtenir des instructions détaillées, consultez Comment authentifier les applications Python avec les services Azure.
Vérifiez que le principal de service est affecté à un rôle disposant d’autorisations suffisantes pour créer des groupes de ressources et des comptes de stockage. Par exemple, l’attribution du rôle Contributeur au niveau de l’abonnement fournit l’accès nécessaire. Pour en savoir plus sur les attributions de rôles, consultez Contrôle d’accès en fonction du rôle (RBAC) dans Azure.
Liens de référence pour les classes utilisées dans le code
5 : Exécuter le script
Si ce n’est déjà fait, connectez-vous à Azure à l’aide d’Azure CLI :
az login
Exécutez le script :
python provision_rg.py
6 : Vérifier le groupe de ressources
Vous pouvez vérifier que le groupe de ressources existe via le portail Azure ou Azure CLI.
Portail Azure : ouvrez le portail Azure, sélectionnez Groupes de ressources et vérifiez que le groupe est répertorié. Si nécessaire, utilisez la commande Actualiser pour mettre à jour la liste.
Azure CLI : utilisez la commande az group show :
#!/bin/bash az group show -n $AZURE_RESOURCE_GROUP_NAME
7 : Nettoyer les ressources
Exécutez la commande az group delete si vous n’avez pas besoin de conserver le groupe de ressources créé dans cet exemple. Les groupes de ressources n’entraînent pas de frais continus dans votre abonnement, mais les ressources du groupe de ressources peuvent continuer à entraîner des frais. Il est recommandé de nettoyer n’importe quel groupe que vous n’utilisez pas activement. L’argument --no-wait
permet à la commande de retourner immédiatement au lieu d’attendre la fin de l’opération.
#!/bin/bash
az group delete -n $AZURE_RESOURCE_GROUP_NAME --no-wait
Vous pouvez également utiliser la méthode ResourceManagementClient.resource_groups.begin_delete
pour supprimer un groupe de ressources du code. Le code commenté en bas du script de cet article illustre l’utilisation.
Pour référence : commande Azure CLI équivalente
La commande azure CLI az group create suivante crée un groupe de ressources avec des balises comme le script Python :
az group create -n PythonAzureExample-rg -l centralus --tags "department=tech" "environment=test"
Voir aussi
- exemple : répertorier les groupes de ressources dans un abonnement
- Exemple : Créer un stockage Azure
- Exemple : utiliser le stockage Azure
- Exemple : Créer une application web et déployer du code
- Exemple : Créer et interroger une base de données
- exemple : Créer une machine virtuelle
- utiliser des disques managés Azure avec des machines virtuelles
- effectuer une brève enquête sur le Kit de développement logiciel (SDK) Azure pour Python