Partager via


Exemple : Utiliser les bibliothèques Azure pour créer un groupe de ressources

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

  1. 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
    
  2. 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.

5 : Exécuter le script

  1. Si ce n’est déjà fait, connectez-vous à Azure à l’aide d’Azure CLI :

    az login
    
  2. 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