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 effectuer deux tâches :
- Répertoriez tous les groupes de ressources dans un abonnement Azure.
- Répertorier les ressources au sein d’un groupe de ressources spécifique.
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.
Les commandes Azure CLI équivalentes sont répertoriées plus loin dans cet article.
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
Créez un fichier nommé requirements.txt avec le contenu suivant :
azure-mgmt-resource
azure-identity
Dans un terminal ou une invite de commandes avec l’environnement virtuel activé, installez les conditions requises :
pip install -r requirements.txt
3 : Écrire du code pour travailler avec des groupes de ressources
3a. Répertorier les groupes de ressources dans un abonnement
Créez un fichier Python nommé list_groups.py avec le code suivant. Les commentaires expliquent les détails :
# 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. Répertorier les ressources au sein d’un groupe de ressources spécifique
Créez un fichier Python nommé list_resources.py avec le code suivant. Les commentaires expliquent les détails.
Par défaut, le code répertorie les ressources dans « myResourceGroup ». Pour utiliser un autre groupe de ressources, définissez la RESOURCE_GROUP_NAME
variable d’environnement sur le nom de groupe souhaité.
# 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}}")
Authentification dans le code
Plus loin dans cet article, vous vous connectez à Azure avec Azure CLI pour exécuter l’exemple de code. Si votre compte dispose des autorisations nécessaires pour créer et répertorier des groupes de ressources dans votre abonnement Azure, le code s’exécute correctement.
Pour utiliser ce type de code dans un script de production, vous pouvez définir des variables d’environnement pour utiliser une méthode basée sur un principal de service pour l’authentification. Pour plus d’informations, consultez Comment authentifier des applications Python avec les services Azure. Vous devez vous assurer que le principal de service dispose des autorisations suffisantes pour créer et répertorier des groupes de ressources dans votre abonnement en lui attribuant un rôle approprié dans Azure ; par exemple, le rôle Contributeur sur votre abonnement.
Liens de référence pour les classes utilisées dans le code
4 : Exécuter les scripts
Si ce n’est déjà fait, connectez-vous à Azure à l’aide d’Azure CLI :
az login
Définissez la variable d’environnement
AZURE_SUBSCRIPTION_ID
sur votre ID d’abonnement. (Vous pouvez exécuter la commande az account show et obtenir votre ID d’abonnement à partir de laid
propriété dans la sortie) :export AZURE_SUBSCRIPTION_ID=00000000-0000-0000-0000-000000000000
Répertoriez tous les groupes de ressources dans l’abonnement :
python list_groups.py
Répertorier toutes les ressources d’un groupe de ressources :
python list_resources.py
Par défaut, le code répertorie les ressources dans « myResourceGroup ». Pour utiliser un autre groupe de ressources, définissez la
RESOURCE_GROUP_NAME
variable d’environnement sur le nom de groupe souhaité.
Pour référence : commandes Azure CLI équivalentes
La commande Azure CLI suivante répertorie les groupes de ressources dans un abonnement :
az group list
La commande suivante répertorie les ressources dans « myResourceGroup » dans la région centralus (l’argument location
est nécessaire pour identifier un centre de données spécifique) :
az resource list --resource-group myResourceGroup --location centralus
Voir aussi
- Exemple : Provisionner un groupe de ressources
- Exemple : Provisionner le stockage Azure
- Exemple : utiliser le stockage Azure
- Exemple : Provisionner une application web et déployer du code
- Exemple : Approvisionner et interroger une base de données
- Exemple : Provisionner 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