Formats de sortie pour les commandes Azure CLIOutput formats for Azure CLI commands

Azure CLI utilise JSON comme format de sortie par défaut, mais il propose d’autres formats.The Azure CLI uses JSON as its default output format, but offers other formats. Utilisez le paramètre --output (--out ou -o) pour formater la sortie de l’interface CLI.Use the --output (--out or -o) parameter to format CLI output. Les valeurs d’argument et les types de sortie sont :The argument values and types of output are:

--output--output DescriptionDescription
json Chaîne JSON.JSON string. Il s’agit du paramètre par défaut.This setting is the default.
jsonc JSON coloré.Colorized JSON.
yaml YAML, une alternative à JSON pouvant être lue par la machine.YAML, a machine-readable alternative to JSON.
table Table ASCII avec des clés en tant qu’en-têtes de colonne.ASCII table with keys as column headings.
tsv Valeurs séparées par des tabulations, sans clésTab-separated values, with no keys

Format de sortie JSONJSON output format

L’exemple suivant affiche la liste des machines virtuelles de vos abonnements au format JSON par défaut.The following example displays the list of virtual machines in your subscriptions in the default JSON format.

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.The following output has some fields omitted for brevity, and identifying information replaced.

[
  {
    "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 YAMLYAML output format

Le format yaml affiche la sortie en tant que YAML, un format de sérialisation de données en texte brut.The yaml format prints output as YAML, a plain-text data serialization format. YAML est souvent plus simple à lire que JSON et se mappe facilement vers ce format.YAML tends to be easier to read than JSON, and easily maps to that format. Certaines applications et commandes CLI utilisent YAML en tant qu’entrée de configuration, plutôt que JSON.Some applications and CLI commands take YAML as configuration input, instead of JSON.

az vm list --out yaml

Certains champs de la sortie suivante ont été omis par souci de concision et des informations d’identification ont été remplacées.The following output has some fields omitted for brevity, and identifying information replaced.

- 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 de la tableTable output format

Le format table imprime la sortie sous forme de tableau ASCII, ce qui la rend facile à lire et à analyser.The table format prints output as an ASCII table, making it easy to read and scan. 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.Nested objects aren't included in table output, but can still be filtered as part of a query. 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.Some fields aren't included in the table, so this format is best when you want a quick, human-searchable overview of data.

az vm list --out 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.You can use the --query parameter to customize the properties and columns you want to show in the list output. 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.The following example shows how to select just the VM Name and the Resource Group Name in the list command.

az vm list --query "[].{resource:resourceGroup, name:name}" -o table
Resource    Name
----------  -----------
DEMORG1     DemoVM010
DEMORG1     demovm212
DEMORG1     demovm213
RGDEMO001   KBDemo001VM
RGDEMO001   KBDemo020

Notes

Certaines clés ne sont pas imprimées dans l’affichage du tableau par défaut.Some keys are not printed in the table view by default. Il s’agit de id, type, et etag.These are id, type, and etag. Si vous avez besoin de les voir dans votre sortie, vous pouvez utiliser la fonction JMESPath de régénération des clés pour modifier le nom de clé et éviter le filtrage.If you need to see these in your output, you can use the JMESPath re-keying feature to change the key name and avoid filtering.

az vm list --query "[].{objectID:id}" -o 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.For more about using queries to filter data, see Use JMESPath queries with Azure CLI.

Format de sortie TSVTSV output format

Le format de sortie tsv retourne des valeurs séparées par des tabulations et des sauts de ligne sans mise en forme, clés ou autres symboles supplémentaires.The tsv output format returns tab- and newline-separated values without additional formatting, keys, or other symbols. 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.This format makes it easy to consume the output into other commands and tools that need to process the text in some form. Comme pour le format table, le format tsv n’imprime pas les objets imbriqués.Like the table format, tsv doesn't print nested objects.

L’exécution de l’exemple précédent avec l’option tsv retourne le résultat séparé par des tabulations.Using the preceding example with the tsv option outputs the tab-separated result.

az vm list --out 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

L’une des restrictions du format de sortie TSV est qu’il n’existe aucune garantie quant à l’ordre de la sortie.One restriction of the TSV output format is that there isn't a guarantee on output ordering. L’interface CLI fait de son mieux pour préserver l’ordre en triant les clés dans le code JSON de la réponse par ordre alphabétique, puis en imprimant leurs valeurs dans l’ordre pour la sortie TSV.The CLI makes a best effort to preserve ordering by sorting keys in the response JSON alphebetically, and then printing their values in order for TSV output. Il n’est donc pas garanti que l’ordre soit toujours le même puisque le format de la réponse du service Azure peut changer.This isn't a guarantee that the order is always identical though, since the Azure service response format may change.

Pour appliquer un ordre cohérent, vous devez utiliser le paramètre --query et le format de liste à sélection multiple.In order to enforce consistent ordering, you'll need to use the --query parameter and the multiselect list format. Quand une commande CLI retourne un dictionnaire JSON unique, utilisez le format général [key1, key2, ..., keyN] pour forcer l’ordre des clés.When a CLI command returns a single JSON dictionary, use the general format [key1, key2, ..., keyN] to force a key order. Pour les commandes CLI qui retournent un tableau, utilisez le format général [].[key1, key2, ..., keyN] pour ordonner les valeurs de colonne.For CLI commands which return an array, use the general format [].[key1, key2, ..., keyN] to order column values.

Par exemple, pour ordonner les informations affichées ci-dessus par ID, emplacement, groupe de ressources et nom de machine virtuelle :For example, to order the information displayed above by ID, location, resource group, and VM name:

az vm list --out 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 la sortie tsv peut être transmise à d’autres commandes dans Bash.The next example shows how tsv output can be piped to other commands in bash. La requête permet de filtrer la sortie et de forcer l’ordre, grep sélectionne les éléments contenant le texte « RGD », puis la commande cut sélectionne le quatrième champ pour afficher le nom de la machine virtuelle dans la sortie.The query is used to filter output and force ordering, grep selects items that have text "RGD" in them, then the cut command selects the fourth field to show the name of the VM in output.

az vm list --out tsv --query '[].[id, location, resourceGroup, name]' | grep RGD | cut -f4
KBDemo001VM
KBDemo020

Définir le format de sortie par défautSet the default output format

Utilisez la commande interactive az configure pour configurer votre environnement et établir des paramètres par défaut pour les formats de sortie.Use the interactive az configure command to set up your environment and establish default settings for output formats. Le format de sortie par défaut est json.The default output format is json.

az configure
Welcome to the Azure CLI! This command will guide you through logging in and setting some default values.

Your settings can be found at /home/defaultuser/.azure/config
Your current configuration is as follows:

  ...

Do you wish to change your settings? (y/N): y

What default output format would you like?
 [1] json - JSON formatted output that most closely matches API responses.
 [2] jsonc - Colored JSON formatted output that most closely matches API responses.
 [3] table - Human-readable output format.
 [4] tsv - Tab- and Newline-delimited. Great for GREP, AWK, etc.
 [5] yaml - YAML formatted output. An alternative to JSON. Great for configuration files.
 [6] none - No output, except for errors and warnings.
Please enter a choice [1]:

Pour en savoir plus sur la configuration de votre environnement, consultez Configuration d’Azure CLI.To learn more about configuring your environment, see Azure CLI configuration.