Utdataformat för Azure CLI-kommandonOutput formats for Azure CLI commands

Azure CLI använder JSON som standardutdataformat, men kan även använda andra format.The Azure CLI uses JSON as its default output format, but offers other formats. Använd parametern --output (--out eller -o) för att formatera CLI-utdata.Use the --output (--out or -o) parameter to format CLI output. Argumentvärden och utdatatyper är:The argument values and types of output are:

--resultat--output BeskrivningDescription
json JSON-sträng.JSON string. Den här inställningen är standardinställningen.This setting is the default.
jsonc Färglagd JSON.Colorized JSON.
yaml YAML, ett maskinläsbart alternativ till JSON.YAML, a machine-readable alternative to JSON.
table ASCII-tabell med nycklar som kolumnrubriker.ASCII table with keys as column headings.
tsv Tabbavgränsade värden, utan nycklarTab-separated values, with no keys

Format för JSON-utdataJSON output format

I följande exempel visas listan över virtuella datorer i dina prenumerationer i standardformatet JSON.The following example displays the list of virtual machines in your subscriptions in the default JSON format.

az vm list --output json

I följande utdata har vissa fält utelämnats av utrymmesskäl och identifieringsinformation har ersatts.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 för YAML-utdataYAML output format

yaml-formatet skriver ut utdata som YAML, ett oformaterat dataserialiseringsformat.The yaml format prints output as YAML, a plain-text data serialization format. YAML kan vara lättare att läsa än JSON, och mappas enkelt till det formatet.YAML tends to be easier to read than JSON, and easily maps to that format. Vissa program och CLI-kommandon tar YAML som konfigurationsindata, i stället för JSON.Some applications and CLI commands take YAML as configuration input, instead of JSON.

az vm list --out yaml

I följande utdata har vissa fält utelämnats av utrymmesskäl och identifieringsinformation har ersatts.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 för tabellutdataTable output format

Formatet table skriver ut utdata som en ASCII-tabell, vilket gör dem enkla att läsa och söka igenom.The table format prints output as an ASCII table, making it easy to read and scan. Kapslade objekt ingår inte i tabellutdata, men kan fortfarande filtreras som en del av en fråga.Nested objects aren't included in table output, but can still be filtered as part of a query. Vissa fält finns inte i tabellen, så det här formatet passar bäst om du vill ha en snabb sökbar översikt över data.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

Du kan använda parametern --query för att anpassa egenskaperna och kolumnerna du vill visa i bland listans utdata.You can use the --query parameter to customize the properties and columns you want to show in the list output. I följande exempel visas hur du ska välja bara VM-namnets och resursgruppens namn i kommandot 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

Anteckning

Vissa nycklar skrivs som standard inte ut i tabellvyn.Some keys are not printed in the table view by default. Dessa är id, type och etag.These are id, type, and etag. Om du behöver se dessa i dina utdata kan du använda JMESPath-nyckelfunktionen för att ändra nyckelnamnet och undvika filtrering.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

Mer information om hur du använder frågor för att filtrera data finns i Använda JMESPath-frågor med Azure CLI.For more about using queries to filter data, see Use JMESPath queries with Azure CLI.

Format för TSV-utdataTSV output format

tsv-utdataformatet returnerar tabbavgränsade värden och radmatningsavgränsade värden utan ytterligare formatering, nycklar eller andra symboler.The tsv output format returns tab- and newline-separated values without additional formatting, keys, or other symbols. I det här formatet är det enkelt att använda utdata i andra kommandon och verktyg som behöver bearbeta texten i någon form.This format makes it easy to consume the output into other commands and tools that need to process the text in some form. Liksom formatet table skriver tsv inte ut kapslade objekt.Like the table format, tsv doesn't print nested objects.

Om du använder följande exempel med alternativet tsv matas det tabbavgränsade resultatet ut.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

En begränsning av TSV-utdataformatet är att det inte finns någon garanti för utgående ordning.One restriction of the TSV output format is that there isn't a guarantee on output ordering. CLI gör det bäst att bevara ordningen genom att sortera nycklar i alphebetically för svar och sedan skriva ut värdena för TSV-utdata.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. Detta är inte en garanti för att ordern alltid är identisk med, eftersom svars formatet för Azure-tjänsten kan ändras.This isn't a guarantee that the order is always identical though, since the Azure service response format may change.

För att framtvinga konsekvent sortering måste du använda --query parameter och formatet MultiSelect List .In order to enforce consistent ordering, you'll need to use the --query parameter and the multiselect list format. När ett CLI-kommando returnerar en enda JSON-ordlista använder du det allmänna formatet [key1, key2, ..., keyN] för att genomdriva en nyckel ordning.When a CLI command returns a single JSON dictionary, use the general format [key1, key2, ..., keyN] to force a key order. För CLI-kommandon som returnerar en matris använder du det allmänna formatet [].[key1, key2, ..., keyN] för att ordna kolumn värden.For CLI commands which return an array, use the general format [].[key1, key2, ..., keyN] to order column values.

Om du till exempel vill sortera informationen som visas ovan efter ID, plats, resurs grupp och namn på virtuell dator: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

I nästa exempel visas hur tsv-utdata kan skickas till andra kommandon i Bash.The next example shows how tsv output can be piped to other commands in bash. Frågan används för att filtrera utdata och framtvinga sortering, grep väljer objekt som har texten "RGD" i dem. sedan väljer cut kommandot det fjärde fältet för att visa namnet på den virtuella datorn i utdata.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

Ange standardutdataformatetSet the default output format

Använd det interaktiva kommandot az configure för att konfigurera din miljö och upprätta standardinställningar för utdataformat.Use the interactive az configure command to set up your environment and establish default settings for output formats. Standardutdataformatet är 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]:

Läs mer om hur du konfigurerar din miljö i Azure CLI-konfiguration.To learn more about configuring your environment, see Azure CLI configuration.