Partager via


Comment utiliser des variables dans des commandes Azure CLI

En plus de spécifier des valeurs directement dans une commande, vous pouvez fournir des valeurs de plusieurs façons :

  • Utiliser des variables d’interpréteur de commandes
  • 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.

Conditions préalables

Utiliser des variables d’interpréteur de commandes

Azure CLI s’exécute dans un interpréteur de commandes. 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 transmettre des valeurs pour les paramètres aux commandes. L’utilisation de variables avec Azure CLI permet également la réutilisation de commandes, fragmentaires ou dans des scripts.

Cet exemple crée un disque de stockage du même type que le disque de stockage sur 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 réutilisées, telles que 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 $() assigne la valeur de retour de la commande à osType. Pour en savoir plus sur --query les requêtes JMESPath, consultez Comment interroger la sortie de commande Azure CLI à l’aide d’une requête JMESPath.

Lorsque vous affectez une valeur à une variable à partir d’une autre commande, assurez-vous que la commande utilise un format de sortie compatible. La commande az vm get-instance-view utilise le tsv format de sortie. Cette option retourne des valeurs sans mise en forme, touches ou autres symboles supplémentaires. Certains formats de sortie incluent la structure ou les caractères tels que les 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 de guillemets.

Définir un abonnement

De nombreuses commandes nécessitent un abonnement spécifique. Les ressources Azure existent dans les groupes de ressources, qui existent dans les abonnements. Azure CLI utilise un abonnement par défaut lorsque vous êtes dans une session. Pour afficher votre valeur d’abonnement actuelle, exécutez la commande az account show :

az account show --output table

Vous n’avez peut-être 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 actuel :

az account set --subscription "My Demos"

Après avoir défini votre abonnement, vous pouvez omettre --Subscription le paramètre. 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 à l’aide de la commande az config set . Cet exemple montre comment définir un groupe de ressources par défaut :

az config set defaults.group=ContosoRGforVM

Après avoir exécuté cette commande, vous pouvez exécuter la commande suivante 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 / Astuce

Les commandes obtenant des valeurs pour les paramètres de différentes façons peuvent être déroutantes. Si une commande donne un résultat inattendu, par exemple si elle n’est pas en mesure 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 d’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 à l’aide de 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 à la fois.

Voir aussi