Azure CLI komutları için çıkış biçimleri
Azure CLI varsayılan çıkış biçimi olarak JSON kullanır, ama başka biçimler de sağlar. CLI çıkışını biçimlendirmek için --output (--out veya -o) parametresini kullanın. Bağımsız değişken değerleri ve çıkış türleri şunlardır:
| --output | Description |
|---|---|
json |
JSON dizesi. Bu ayar varsayılan ayardır |
jsonc |
Renklendirilmiş JSON |
yaml |
YAML, JSON için okunabilir bir alternatiftir |
yamlc |
Colorlanmış YAML |
table |
Sütun başlıkları olarak anahtarlar içeren ASCII tablosu |
tsv |
Sekmeyle ayrılmış değerler, anahtar olmadan |
none |
Hatalar ve uyarılar dışında çıkış yok |
JSON çıkış biçimi
Aşağıdaki örnek, aboneliklerinizdeki sanal makinelerin listesini varsayılan JSON biçiminde görüntüler.
az vm list --output json
Aşağıdaki çıkışta kısaltma ve değiştirilen bilgileri belirleme amacıyla bazı alanlar atlanmıştır.
[
{
"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 çıkış biçimi
yaml biçimi, çıkışı bir düz metin serileştirme biçimi olan YAML biçiminde yazdırır. YAML, JSON'dan daha kolay okunabilir ve bu biçime kolayca eşlenebilir. Bazı uygulamalar ve CLI komutları, yapılandırma girişi olarak JSON yerine YAML alır.
az vm list --out yaml
Aşağıdaki çıkışta kısaltma ve değiştirilen bilgileri belirleme amacıyla bazı alanlar atlanmıştır.
- 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
...
...
Tablo çıkış biçimi
table biçimi çıkışı bir ASCII tablosu olarak yazdırarak okunmasını ve taranmasını kolaylaştırır. İç içe geçmiş nesneler tablo çıkışına dahil edilmez ancak bir sorgunun parçası olarak yine filtrelenebilir. Bazı alanlar tabloya dahil edilmez; bu nedenle verilere yönelik hızlı ve insanlar tarafından aranabilir bir genel bakış edinmek istediğinizde bu biçim idealdir.
az vm list --out table
Name ResourceGroup Location
----------- --------------- ----------
DemoVM010 DEMORG1 westus
demovm212 DEMORG1 westus
demovm213 DEMORG1 westus
KBDemo001VM RGDEMO001 westus
KBDemo020 RGDEMO001 westus
Liste çıkışında gösterilmesini istediğiniz özellikleri ve sütunları özelleştirmek için --query parametresini kullanabilirsiniz. Aşağıdaki örnekte, list komutunda yalnızca VM Adı ve Kaynak Grubu Adı’nın nasıl seçildiği gösterilir.
az vm list --query "[].{resource:resourceGroup, name:name}" -o table
Resource Name
---------- -----------
DEMORG1 DemoVM010
DEMORG1 demovm212
DEMORG1 demovm213
RGDEMO001 KBDemo001VM
RGDEMO001 KBDemo020
Not
Tablo görünümünde bazı anahtarlar varsayılan olarak yazdırılmaz. Bunlar id, type ve etag anahtarlarıdır. Bunları çıkışınızda görmeniz gerekiyorsa, anahtar adını değiştirip filtrelemeden kaçınmak için JMESPath yeniden anahtarlama özelliğini kullanabilirsiniz.
az vm list --query "[].{objectID:id}" -o table
Verileri filtrelemek için sorguları kullanma hakkında daha fazla bilgi için bkz. Azure CLI ile JMESPath sorgularını kullanma.
TSV çıkış biçimi
tsv çıkış biçimi ek biçimlendirme, anahtarlar veya diğer semboller olmadan sekme ve yeni satır ile ayrılmış değerleri döndürür. Bu biçim, çıkışın herhangi bir biçimdeki metni işlemesi gereken başka komutlarda ve araçlarda kullanılmasını kolaylaştırır. table biçimi gibi tsv biçimi de iç içe nesneleri yazdırmaz.
Önceki örnek tsv seçeneğiyle kullanıldığında çıkış olarak sekmeyle ayrılmış bir sonuç verir.
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
TSV çıkış biçiminin bir kısıtlaması, çıkış sıralaması garantisi değildir. CLı, yanıt JSON değerlerini alfabetik olarak sıralayarak sıralamayı korumak için en iyi çabayı yapar ve ardından bu değerleri TSV çıktısına göre yazdırma. Bu, Azure hizmeti yanıt biçimi değişemediğinden, siparişin her zaman aynı olduğundan emin değildir.
Tutarlı sıralamayı zorlamak için --query parametresini ve MultiSelect liste biçimini kullanmanız gerekir. Bir CLı komutu tek bir JSON sözlüğü döndürdüğünde, [key1, key2, ..., keyN] bir anahtar sırası zorlamak için genel biçimini kullanın. Bir dizi döndüren CLı komutları için, [].[key1, key2, ..., keyN] sütun değerlerini sıralamak üzere genel biçimi kullanın.
Örneğin, yukarıda görüntülenecek bilgileri KIMLIK, konum, kaynak grubu ve VM adı ile sıralamak için:
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
Sonraki örnekte, bash içinde tsv çıkışının diğer komutlara nasıl aktarıldığı gösterilir. Sorgu çıkış ve zorla sıralamayı filtrelemek için kullanılır, grep "RGD" metni olan öğeleri seçer ve ardından cut komut, çıktıda sanal makinenin adını göstermek için dördüncü alanı seçer.
az vm list --out tsv --query '[].[id, location, resourceGroup, name]' | grep RGD | cut -f4
KBDemo001VM
KBDemo020
Varsayılan çıkış biçimini ayarlama
az config setOrtamınızı ayarlamak ve çıkış biçimleri için varsayılan ayarları oluşturmak için komutunu kullanın. Varsayılan çıkış biçimi json.
az config set core.output=<format>
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] yamlc - Colored YAML formatted output. An alternative to JSON. Great for configuration files.
[7] none - No output, except for errors and warnings.
Please enter a choice [1]:
Ortamınızı yapılandırma hakkında daha fazla bilgi için bkz. Azure CLI yapılandırması.