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. (Le 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.)
Sauf indication contraire, toutes les commandes de cet article fonctionnent de la même façon dans les interpréteurs de commandes Windows et bash Linux/macOS.
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 possibles :
Configurez un environnement virtuel Python. Vous pouvez créer l’environnement virtuel localement ou dans Azure Cloud Shell et y exécuter le code. Veillez à activer l’environnement virtuel pour commencer à l’utiliser.
Utilisez un environnement conda.
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 éléments requis :
pip install -r requirements.txt
3 : Écrire du code pour créer un groupe de ressources
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"]
# 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(
"PythonAzureExample-rg", {"location": "centralus"}
)
# 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(
"PythonAzureExample-rg",
{
"location": "centralus",
"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 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 le script
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) :Exécutez le script :
python provision_rg.py
5 : Vérifier le groupe de ressources
Vous pouvez vérifier que le groupe existe à l’aide du Portail Azure ou d’Azure CLI.
Portail Azure : ouvrez le Portail Azure, sélectionnez Groupes de ressources, puis vérifiez que le groupe figure dans la liste. Si vous avez déjà ouvert le portail, utilisez la commande Refresh pour mettre à jour la liste.
Azure CLI : utilisez la commande az group show :
az group show -n PythonAzureExample-rg
6 : 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 propre un groupe que vous n’utilisez pas activement. L’argument --no-wait
permet à la commande de retourner immédiatement un résultat au lieu d’attendre que l’opération se termine.
az group delete -n PythonAzureExample-rg --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 Stockage Azure
- Exemple : Utiliser 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
- Répondre à une courte enquête sur le SDK Azure pour Python
Commentaires
https://aka.ms/ContentUserFeedback.
Bientôt disponible : Tout au long de 2024, nous allons supprimer progressivement GitHub Issues comme mécanisme de commentaires pour le contenu et le remplacer par un nouveau système de commentaires. Pour plus d’informations, consultezEnvoyer et afficher des commentaires pour