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

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 les autres shells, consultez Utiliser Azure CLI efficacement. 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.

Voir aussi