Note
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier les répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de changer de répertoire.
Azure CLI utilise JSON comme format de sortie par défaut, mais il propose d’autres formats. Utilisez le --output paramètre (--out ou -o) pour mettre en forme la sortie Azure CLI. Les valeurs d’argument et les types de sortie sont :
| --sortie | Descriptif |
|---|---|
json |
Chaîne JSON. Paramètre par défaut |
jsonc |
JSON coloré |
table |
Table ASCII avec des clés en tant qu’en-têtes de colonne |
tsv |
Valeurs séparées par des tabulations, sans clés |
yaml |
YAML, alternative à JSON pouvant être lue par un humain |
yamlc |
YAML coloré |
none |
Aucune sortie autre que des erreurs et des avertissements |
Avertissement
Pour éviter d’exposer des secrets tels que des clés API et des informations d’identification, utilisez un format de sortie de none ou stockez la sortie de la commande dans une variable.
Note : Certains environnements CI/CD peuvent enregistrer les résultats des commandes exécutées dans les journaux. Il est recommandé de confirmer le contenu de ces fichiers de logs et de vérifier qui y a accès. Pour plus d’informations, consultez Aucun format de sortie.
Format de sortie JSON (par défaut)
L’exemple suivant affiche la liste des machines virtuelles de vos abonnements au format JSON par défaut.
az vm list --output json
Certains champs de la sortie suivante ont été omis par souci de concision et des informations d’identification ont été remplacées.
[
{
"availabilitySet": null,
"diagnosticsProfile": null,
"hardwareProfile": {
"vmSize": "Standard_DS1"
},
"id": "/subscriptions/.../resourceGroups/DEMORG1/providers/Microsoft.Compute/virtualMachines/DemoVM010",
"instanceView": null,
"licenseType": null,
"location": "westus",
"name": "DemoVM010",
"networkProfile": {
"networkInterfaces": [
{
"id": "/subscriptions/.../resourceGroups/demorg1/providers/Microsoft.Network/networkInterfaces/DemoVM010VMNic",
"primary": null,
"resourceGroup": "demorg1"
}
]
},
...
...
...
]
Format de sortie YAML
Le format yaml affiche la sortie en tant que YAML, un format de sérialisation de données en texte brut. YAML a tendance à être plus facile à lire que JSON et mappe à ce format. Certaines applications et commandes Azure CLI prennent YAML comme entrée de configuration, au lieu de JSON.
az vm list --output yaml
Certains champs de la sortie suivante ont été omis par souci de concision et des informations d’identification ont été remplacées.
- availabilitySet: null
diagnosticsProfile: null
hardwareProfile:
vmSize: Standard_DS1_v2
id: /subscriptions/.../resourceGroups/DEMORG1/providers/Microsoft.Compute/virtualMachines/DemoVM010
identity: null
instanceView: null
licenseType: null
location: westus
name: ExampleVM1
networkProfile:
networkInterfaces:
- id: /subscriptions/.../resourceGroups/DemoRG1/providers/Microsoft.Network/networkInterfaces/DemoVM010Nic
primary: null
resourceGroup: DemoRG1
...
...
Format de sortie du tableau
Le format table imprime la sortie sous forme de tableau ASCII, ce qui la rend facile à lire et à analyser. Les objets imbriqués ne sont pas inclus dans le tableau de sortie, mais peuvent toujours être filtrés dans le cadre d’une requête. Certains champs ne sont pas compris dans le tableau. Ainsi, ce format est le plus approprié si vous souhaitez obtenir un aperçu des données rapide et consultable pour un être humain.
az vm list --output table
Name ResourceGroup Location
----------- --------------- ----------
DemoVM010 DEMORG1 westus
demovm212 DEMORG1 westus
demovm213 DEMORG1 westus
KBDemo001VM RGDEMO001 westus
KBDemo020 RGDEMO001 westus
Vous pouvez utiliser le paramètre --query pour personnaliser les propriétés et les colonnes à afficher dans la liste générée. L’exemple suivant montre comment sélectionner uniquement le nom de la machine virtuelle et le nom du groupe de ressources dans la commande list.
az vm list --query "[].{resource:resourceGroup, name:name}" --output table
Resource Name
---------- -----------
DEMORG1 DemoVM010
DEMORG1 demovm212
DEMORG1 demovm213
RGDEMO001 KBDemo001VM
RGDEMO001 KBDemo020
Remarque
Certaines clés ne sont pas imprimées dans l’affichage tableau par défaut. Ces clés incluent id, typeet etag. Si vous en avez besoin dans votre sortie, vous pouvez utiliser la fonctionnalité de rekeying JMESPath pour modifier le nom de la clé et éviter le filtrage.
az vm list --query "[].{objectID:id}" --output table
Pour plus d’informations concernant l’utilisation des requêtes pour filtrer les données, consultez Utiliser des requêtes JMESPath avec Azure CLI.
Format de sortie TSV
Le tsv format de sortie retourne des valeurs séparées par des tabulations et des nouvelles lignes sans mise en forme supplémentaire, identifiants ou autres symboles. Avec ce format, il est facile de consommer la sortie dans d’autres commandes et outils qui ont besoin de traiter le texte dans une forme donnée. Comme pour le format table, le format tsv n’imprime pas les objets imbriqués.
En utilisant l'exemple précédent avec l'option tsv, on obtient un résultat séparé par des tabulations.
az vm list --output tsv
None None /subscriptions/.../resourceGroups/DEMORG1/providers/Microsoft.Compute/virtualMachines/DemoVM010 None None westus DemoVM010 None Succeeded DEMORG1 None Microsoft.Compute/virtualMachines cbd56d9b-9340-44bc-a722-25f15b578444
None None /subscriptions/.../resourceGroups/DEMORG1/providers/Microsoft.Compute/virtualMachines/demovm212 None None westus demovm212 None Succeeded DEMORG1 None Microsoft.Compute/virtualMachines 4bdac85d-c2f7-410f-9907-ca7921d930b4
None None /subscriptions/.../resourceGroups/DEMORG1/providers/Microsoft.Compute/virtualMachines/demovm213 None None westus demovm213 None Succeeded DEMORG1 None Microsoft.Compute/virtualMachines 2131c664-221a-4b7f-9653-f6d542fbfa34
None None /subscriptions/.../resourceGroups/RGDEMO001/providers/Microsoft.Compute/virtualMachines/KBDemo001VM None None westus KBDemo001VM None Succeeded RGDEMO001 None Microsoft.Compute/virtualMachines 14e74761-c17e-4530-a7be-9e4ff06ea74b
None None /subscriptions/.../resourceGroups/RGDEMO001/providers/Microsoft.Compute/virtualMachines/KBDemo020 None None westus KBDemo020 None Succeeded RGDEMO001 None Microsoft.Compute/virtualMachines 36baa9-9b80-48a8-b4a9-854c7a858ece
Une restriction du format de sortie est qu’il n’existe pas de garantie sur l’ordre tsv de sortie. Azure CLI fait un meilleur effort pour conserver l’ordre en triant les clés dans le json de réponse par ordre alphabétique, puis en imprimant leurs valeurs pour la tsv sortie. Il n’existe aucune garantie que la commande est toujours identique, car le format de réponse du service Azure peut changer.
Pour appliquer un ordre cohérent, vous devez utiliser le --query paramètre et le format de liste à sélection multiple . Lorsqu’une commande Azure CLI retourne un dictionnaire JSON unique, utilisez le format [key1, key2, ..., keyN] général pour forcer un ordre de clé. Pour les commandes Azure CLI qui retournent un tableau, utilisez le format [].[key1, key2, ..., keyN] général pour classer les valeurs de colonne.
Par exemple, pour commander ces informations affichées par ID, emplacement, groupe de ressources et nom de machine virtuelle :
az vm list --output tsv --query '[].[id, location, resourceGroup, name]'
/subscriptions/.../resourceGroups/DEMORG1/providers/Microsoft.Compute/virtualMachines/DemoVM010 westus DEMORG1 DemoVM010
/subscriptions/.../resourceGroups/DEMORG1/providers/Microsoft.Compute/virtualMachines/demovm212 westus DEMORG1 demovm212
/subscriptions/.../resourceGroups/DEMORG1/providers/Microsoft.Compute/virtualMachines/demovm213 westus DEMORG1 demovm213
/subscriptions/.../resourceGroups/RGDEMO001/providers/Microsoft.Compute/virtualMachines/KBDemo001VM westus RGDEMO001 KBDemo001VM
/subscriptions/.../resourceGroups/RGDEMO001/providers/Microsoft.Compute/virtualMachines/KBDemo020 westus RGDEMO001 KBDemo020
L’exemple suivant montre comment diriger tsv la sortie vers d’autres commandes dans Bash. La requête est utilisée pour filtrer la sortie et forcer l’ordre, grep sélectionne les éléments qui contiennent du texte RGD , puis la cut commande sélectionne le quatrième champ pour afficher le nom de la machine virtuelle dans la sortie.
az vm list --output tsv --query '[].[id, location, resourceGroup, name]' | grep RGD | cut -f4
KBDemo001VM
KBDemo020
Le format de sortie tsv est souvent utilisé lors de l’affectation de valeurs à des variables. Cet exemple obtient l’ID d’abonnement actif et le stocke dans une variable à utiliser dans un script.
# Bash Script
subscriptionID=$(az account show --query id --output tsv)
echo "Using subscription ID $subscriptionID"
Pour plus d’exemples de paramètre --query, consultez Comment interroger la sortie de commande Azure CLI.
Aucun format de sortie
Certaines commandes Azure CLI produisent des informations que vous devez protéger. Voici quatre exemples :
- Mots de passe
- Chaînes de connexion
- Secrets
- Clés
Pour protéger les secrets et les clés lors de l’utilisation de commandes Azure CLI, choisissez l’une des options suivantes :
| Choix | Avantage | Cas d’utilisation |
|---|---|---|
Format de sortie --output none |
Empêche l’affichage d’informations sensibles dans votre console. Si votre commande échoue, vous recevez toujours des messages d’erreur. | 1. À utiliser quand la sortie de commande peut être récupérée ultérieurement. |
| 2. À utiliser quand vous n’avez pas besoin de sortie. | ||
| 3. Un choix courant lorsqu’une identité managée ou un principal de service sont utilisés pour gérer les ressources Azure. | ||
Paramètre --query |
Stocke la sortie dans une variable. | 1. À utiliser quand la sortie de commande ne peut pas être récupérée ultérieurement. |
| 2. À utiliser quand vous devez utiliser une valeur de sortie de commande dans un script. |
Récupérer des informations de sécurité ultérieurement
Certains secrets Azure peuvent être récupérés ultérieurement. Voici un exemple de secrets stockés dans Azure Key Vault. Dans cet exemple, créez un secret Azure Key Vault en utilisant az keyvault secret set avec l’option --output none. Vous pouvez récupérer le secret ultérieurement à l’aide de la commande az keyvault secret show.
az keyvault secret set --name MySecretName \
--vault-name MyKeyVaultName \
--value MySecretValue\
--output none
Stocker les informations de sécurité dans une variable
L’utilisation de --query pour stocker la sortie dans une variable n’est techniquement pas un format de sortie. Il s’agit d’une solution pour protéger les secrets et constitue une alternative à l’utilisation --output none. Par exemple, lorsque vous réinitialisez les informations d’identification d’un principal de service, le mot de passe ne peut pas être récupéré à nouveau.
Réinitialiser les informations d’identification d’un principal de service qui retourne la sortie au format JSON par défaut.
# reset service principal credentials using default output format (json).
az ad sp credential reset --id myServicePrincipalID --output json
Sortie de la console montrant le nouveau mot de passe dans la console.
{
"appId": "myServicePrincipalID",
"password": "myServicePrincipalNewPassword",
"tenant": "myTenantID"
}
Une meilleure solution consiste à renvoyer les informations sensibles à une variable.
# Bash Script
# reset service principal credentials returning results to a variable
myNewPassword=$(az ad sp credential reset --id myServicePrincipalID --query password --output tsv)
# Display the new password (remove this line in production for security)
echo "New password: $myNewPassword"
Pour plus d’exemples sur le stockage de la sortie dans une variable, consultez Bien utiliser Azure CLI : transmettre des valeurs à une autre commande. Pour en savoir plus sur la syntaxe de paramètre --query, consultez Comment interroger la sortie de commande Azure CLI.
Définir le format de sortie par défaut
Les commandes Azure CLI fournissent une sortie qui peut être contrôlée de deux manières :
| Contrôle de sortie | Avantage | Procédure |
|---|---|---|
| Paramètre global | Sélectionnez la valeur de sortie par défaut que vous utilisez le plus afin que vous n’ayez pas à fournir continuellement un paramètre --output pour chaque commande de référence. |
Spécifiez un format de sortie par défaut avec az config set. |
| paramètre de commande | Spécifiez la sortie au niveau de la commande et donnez à vos scripts une flexibilité maximale. Vous contrôlez la sortie de la console et l'entrée des variables pour chaque commande de référence. | Remplacez le paramètre par défaut par le paramètre --output d’une commande de référence. |
La sortie par défaut pour Azure CLI est json. Définissez la sortie par défaut sur none quand la sortie de la console n’est pas nécessaire.
az config set core.output=none
Vous pouvez remplacer la sortie par défaut de n’importe quelle commande de référence Azure CLI à l’aide du --output paramètre. Voici un script de commandes qui modifie et teste la sortie de commande :
# set your default output to table
az config set core.output=table
# show your active subscription in table format
# notice how only a subset of properties are returned in the table
az account show
# override your table default and show your active subscription in jsonc format
az account show --output jsonc
# reset your default output to json
az config set core.output=json