Anteckning
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Azure CLI använder JSON som standardutdataformat, men erbjuder andra format. Använd parametern --output (--out eller -o) för att formatera Azure CLI-utdata. Argumentvärdena och typerna av utdata är:
| --utdata | Beskrivning | 
|---|---|
| json | JSON-sträng. Den här inställningen är standardinställningen | 
| jsonc | Färglagd JSON | 
| table | ASCII-tabell med nycklar som kolumnrubriker | 
| tsv | Tabbavgränsade värden utan nycklar | 
| yaml | YAML, ett läsbart alternativ till JSON | 
| yamlc | Färglagd YAML | 
| none | Inga utdata förutom fel och varningar | 
Varning
Om du vill undvika att exponera hemligheter som API-nycklar och autentiseringsuppgifter använder du ett utdataformat för none eller lagrar kommandoutdata i en variabel. 
              Not: Vissa CI/CD-miljöer kan lagra utdata från de körda kommandona i loggar. Det är en bra idé att bekräfta innehållet i loggfilerna och vem som har åtkomst till loggarna. Mer information finns i Inget utdataformat.
JSON-utdataformat (standard)
I följande exempel visas listan över virtuella datorer i dina prenumerationer i JSON-standardformatet.
az vm list --output json
I följande utdata har vissa fält utelämnats för att göra det mer kortfattat, och identifierande information har ersatts.
[
  {
    "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"
        }
      ]
    },
          ...
          ...
          ...
]
YAML-utdataformat
Formatet yaml skriver ut utdata som YAML, ett dataserialiseringsformat med oformaterad text. YAML brukar vara lättare att läsa än JSON och mappar till det formatet. Vissa program och Azure CLI-kommandon tar YAML som konfigurationsindata i stället för JSON.
az vm list --output yaml
I följande utdata har vissa fält utelämnats för att göra det mer kortfattat, och identifierande information har ersatts.
- 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 tabellutdata
Formatet table skriver ut utdata som en ASCII-tabell, vilket gör det enkelt att läsa och skanna. Kapslade objekt ingår inte i tabellutdata, men kan fortfarande filtreras som en del av en fråga. Vissa fält ingår inte i tabellen, så det här formatet är bäst när du vill ha en snabb, människosökbar översikt över data.
az vm list --output 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 de egenskaper och kolumner som du vill visa i listutdata. I följande exempel visas hur du bara väljer namnet på den virtuella datorn och resursgruppens namn i list kommandot .
az vm list --query "[].{resource:resourceGroup, name:name}" --output table
Resource    Name
----------  -----------
DEMORG1     DemoVM010
DEMORG1     demovm212
DEMORG1     demovm213
RGDEMO001   KBDemo001VM
RGDEMO001   KBDemo020
Anmärkning
Vissa nycklar skrivs inte ut i tabellvyn som standard. Dessa nycklar är id, typeoch etag. Om du behöver dem i utdata kan du använda funktionen för omnyckling i JMESPath för att undvika filtrering genom att ändra nyckelnamnet.
az vm list --query "[].{objectID:id}" --output 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.
TSV-utdataformat
Utdataformatet tsv returnerar flik- och nyradsavgränsade värden utan extra formatering, nycklar eller andra symboler. Det här formatet gör det enkelt att använda utdata i andra kommandon och verktyg som behöver bearbeta texten i någon form. Precis som table formatet tsv skrivs inte kapslade objekt ut.
Med hjälp av föregående exempel med tsv alternativet matas det tabbavgränsade resultatet ut.
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
En begränsning i tsv utdataformatet är att det inte finns någon garanti för utdataordning. Azure CLI gör sitt bästa för att bevara ordningen genom att sortera nycklar i svaret JSON alfabetiskt och sedan skriva ut sina värden i ordning för tsv utdata. Det finns ingen garanti för att ordningen alltid är identisk eftersom Svarsformatet för Azure-tjänsten kan ändras.
Om du vill framtvinga konsekvent ordning måste du använda parametern --query och listformatet för flera val . När ett Azure CLI-kommando returnerar en enda JSON-ordlista använder du det allmänna formatet [key1, key2, ..., keyN] för att tvinga fram en nyckelordning. För Azure CLI-kommandon som returnerar en matris använder du det allmänna formatet [].[key1, key2, ..., keyN] för att beställa kolumnvärden.
Om du till exempel vill beställa den här informationen som visas med ID, plats, resursgrupp och VM-namn:
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
I nästa exempel visas hur du kan skicka tsv utdata till andra kommandon i Bash. Frågan används för att filtrera utdata och tvinga ordning, grep väljer objekt som har text RGD i sig och sedan cut väljer kommandot det fjärde fältet för att visa namnet på den virtuella datorn i utdata.
az vm list --output tsv --query '[].[id, location, resourceGroup, name]' | grep RGD | cut -f4
KBDemo001VM
KBDemo020
Utdataformatet tsv används ofta när du tilldelar värden till variabler. Det här exemplet hämtar det aktiva prenumerations-ID:t och lagrar det i en variabel för användning i ett skript.
# Bash Script
subscriptionID=$(az account show --query id --output tsv)
echo "Using subscription ID $subscriptionID"
För fler --query parameterexempel, se Så här gör du en fråga om Azure CLI-kommandoutdata.
Inget utdataformat
Vissa Azure CLI-kommandon matar ut information som du måste skydda. Här är fyra exempel:
- Lösenord
- Anslutningssträngar
- Hemligheter
- Nycklar
Om du vill skydda hemligheter och nycklar när du använder Azure CLI-kommandon väljer du något av följande alternativ:
| Alternativ | Förmån | Användningsfall | 
|---|---|---|
| --output noneUtdataformat | Hindrar känslig information från att visas i konsolen. Om kommandot misslyckas får du fortfarande felmeddelanden. | 1. Använd när kommandoutdata kan hämtas vid ett senare tillfälle. | 
| 2. Använd när du inte behöver utdata. | ||
| 3. Ett vanligt val när en hanterad identitet eller ett huvudnamn för tjänsten används för att hantera Azure-resurser. | ||
| --query-parametern | Lagrar utdata i en variabel. | 1. Använd när kommandoutdata inte kan hämtas vid ett senare tillfälle. | 
| 2. Använd när du behöver använda ett kommandoutdatavärde i ett skript. | 
Hämta säkerhetsinformation vid ett senare tillfälle
              Några Azure-hemligheter kan hämtas vid ett senare tillfälle. Ett exempel är hemligheter som lagras i Azure Key Vault. I det här exemplet skapar du en Azure Key Vault-hemlighet med hjälp av az keyvault secret set med alternativet --output none . Du kan hämta hemligheten senare med kommandot az keyvault secret show .
az keyvault secret set --name MySecretName \
                       --vault-name MyKeyVaultName \
                       --value MySecretValue\
                       --output none
Lagra säkerhetsinformation i en variabel
Användningen av --query för att lagra utdata i en variabel är tekniskt sett inte ett utdataformat. Det är en lösning för att skydda hemligheter och är ett alternativ till att använda --output none. När du till exempel återställer en autentiseringsuppgift för tjänstens huvudnamn kan lösenordet inte hämtas igen.
Återställ en autentiseringsuppgift för tjänstens huvudnamn som returnerar utdata i json-standardformatet:
# reset service principal credentials using default output format (json).
az ad sp credential reset --id myServicePrincipalID --output json
Konsolutdata som visar det nya lösenordet i konsolen.
{
  "appId": "myServicePrincipalID",
  "password": "myServicePrincipalNewPassword",
  "tenant": "myTenantID"
}
En bättre lösning är att returnera känslig information till en variabel.
# 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"
Fler exempel på hur du lagrar utdata till en variabel finns i Använda Azure CLI – skicka värden till ett annat kommando. För att lära dig mer om --query syntax för parametrar, se Hur man frågar Azure CLI-kommandoutdata.
Ange standardutdataformatet
Azure CLI-kommandon ger utdata som kan styras på två sätt:
| Utdatakontroll | Förmån | Så här gör du | 
|---|---|---|
| Global inställning | Välj ett standardutdatavärde som du använder mest så att du inte kontinuerligt behöver ange en --outputparameter för varje referenskommando. | Ange ett standardutdataformat med az config set. | 
| Kommandoparameter | Ange utdata på kommandonivå och ge skripten maximal flexibilitet. Du styr konsolens utdata och variabelindata för varje referenskommando. | Åsidosätt standardinställningen med hjälp av parametern för ett referenskommando --output. | 
Standardutdata för Azure CLI är json. Ange standardutdata till none när konsolutdata inte behövs.
az config set core.output=none
Du kan skriva över standardutdata för alla Azure CLI-referenskommandon med hjälp av parametern --output . Här är ett skript med kommandon som ändrar och testar kommandoutdata:
# 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