Utilisation des variables dans les commandes Azure CLI
En plus de spécifier des valeurs directement dans une commande, vous pouvez recourir à diverses méthodes pour fournir des valeurs :
- Utiliser des variables shell
- Définir un abonnement à utiliser dans plusieurs commandes
- Créer des valeurs par défaut pour certains paramètres
Cet article décrit différentes façons de spécifier des valeurs dans les commandes Azure CLI.
Prérequis
Utilisez l’environnement Bash dans Azure Cloud Shell. Pour plus d’informations, consultez Démarrage rapide pour Bash dans Azure Cloud Shell.
Si vous préférez exécuter les commandes de référence de l’interface de ligne de commande localement, installez l’interface Azure CLI. Si vous exécutez sur Windows ou macOS, envisagez d’exécuter Azure CLI dans un conteneur Docker. Pour plus d’informations, consultez Guide pratique pour exécuter Azure CLI dans un conteneur Docker.
Si vous utilisez une installation locale, connectez-vous à Azure CLI à l’aide de la commande az login. Pour finir le processus d’authentification, suivez les étapes affichées dans votre terminal. Pour connaître les autres options de connexion, consultez Se connecter avec Azure CLI.
Lorsque vous y êtes invité, installez l’extension Azure CLI lors de la première utilisation. Pour plus d’informations sur les extensions, consultez Utiliser des extensions avec Azure CLI.
Exécutez az version pour rechercher la version et les bibliothèques dépendantes installées. Pour effectuer une mise à niveau vers la dernière version, exécutez az upgrade.
Utiliser des variables shell
Azure CLI s’exécute dans un interpréteur de commandes (shell). Cet article utilise Bash. Pour plus d’informations sur d’autres langages de script, consultez Choisir l’outil en ligne de commande Azure approprié. Vous pouvez utiliser des variables dans Bash pour passer des valeurs de paramètres à des commandes. Les variables avec l’interface Azure CLI permettent également de réutiliser des commandes (individuellement ou dans des scripts).
Cet exemple crée un disque de stockage du même type que celui d’une machine virtuelle existante.
# Bash script
# Assign values to variables
MyResourceGroup=ContosoRGforVM
MySubscription="Contoso subscription"
vmName=VM01
# Get a value for a variable based on an existing virtual machine
osType=$(az vm get-instance-view --resource-group $MyResourceGroup \
--name $vmName --subscription "$MySubscription" \
--query 'storageProfile.osDisk.osType' --output tsv)
# Create a disk of the same type by using the variable value
az disk create --resource-group $MyResourceGroup --name DestinationDisk --size-gb 20 --os-type $osType
Cet exemple montre comment affecter des valeurs à des variables qui sont réutilisées, comme MyResourceGroup et osType. La commande az vm get-instance-view combinée à la requête storageProfile.osDisk.osType
retourne le type de système d’exploitation du disque. Encapsuler la commande avec $()
affecte la valeur de retour de la commande sur osType
. Pour en savoir plus sur --query
et les requêtes JMESPath, consultez Comment interroger la sortie de commande Azure CLI à l’aide d’une requête JMESPath.
Quand vous affectez une valeur à une variable à partir d’une autre commande, vérifiez que la commande utilise un format de sortie compatible. La commande az vm get-instance-view utilise le format de sortie tsv
. Cette option retourne des valeurs sans mise en forme, clé ou autre symbole supplémentaire. Certains formats de sortie incluent des structures ou des caractères comme des guillemets. Pour plus d’informations, consultez Formats de sortie pour les commandes Azure CLI.
Dans cet exemple, la variable MySubscription doit être entre guillemets. La valeur de la variable contient des espaces, que la commande ne peut pas analyser. Si vous travaillez uniquement avec des ID d’abonnement, vous n’avez pas besoin d’utiliser des guillemets.
Définir un abonnement
De nombreuses commandes nécessitent un abonnement spécifique. Les ressources Azure existent dans des groupes de ressources, lesquels existent dans des abonnements. Azure CLI utilise un abonnement par défaut quand vous êtes dans une session. Pour voir la valeur de votre abonnement actif, exécutez la commande az account show :
az account show --output table
Il est possible que vous n’ayez accès qu’à un seul abonnement. Pour plus d’informations, consultez Utiliser des abonnements Azure avec Azure CLI. Vous pouvez utiliser la commande az account set pour définir votre abonnement actif :
az account set --subscription "My Demos"
Après avoir défini votre abonnement, vous pouvez omettre le paramètre --Subscription
. Pour plus d’informations, consultez Utiliser des abonnements Azure avec Azure CLI.
Créer des valeurs par défaut
Vous pouvez définir des valeurs pour certains paramètres en utilisant la commande az config set. Cet exemple définit un groupe de ressources par défaut :
az config set defaults.group=ContosoRGforVM
Après avoir exécuté cette commande, exécutez celle-ci pour créer un compte de stockage dans le groupe de ressources ContosoRGforVM :
az storage account create --name storage135 --location eastus --sku Standard_LRS
Notez qu’aucun groupe de ressources n’est spécifié dans la commande. Pour plus d’informations, consultez Définir un groupe de ressources par défaut.
Conseil
Les commandes qui obtiennent les valeurs de paramètres de différentes manières peuvent prêter à confusion. Si une commande donne un résultat inattendu, comme l’impossibilité de trouver un groupe de ressources, il peut y avoir une valeur par défaut.
Si vous rencontrez une erreur, réexécutez la commande avec le paramètre et la valeur spécifiés. Une valeur explicite pour un paramètre est toujours prioritaire sur les autres options.
Vous pouvez spécifier des valeurs pour plusieurs paramètres de cette façon. Pour plus d’informations, consultez Configuration d’Azure CLI.
Nettoyer les ressources
Si vous avez créé des ressources pour essayer l’une des commandes de cet article, vous pouvez les supprimer en utilisant la commande az group delete :
az group delete --name ContosoRGforVM
az group delete --name ContosoStorageRG
Cette commande supprime le groupe et toutes les ressources qu’il contient en une seule opération.