Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Azure CLI varsayılan çıkış biçimi olarak JSON kullanır, ancak başka biçimler sunar. Azure CLI çıkışını --output biçimlendirmek için (--out veya -o) parametresini kullanın. Bağımsız değişken değerleri ve çıkış türleri şunlardır:
| --çıktı | Açıklama |
|---|---|
json |
JSON dizesi. Bu ayar varsayılan ayardır |
jsonc |
Renklendirilmiş JSON |
table |
Sütun başlığı olarak anahtarlar içeren ASCII tablosu |
tsv |
Sekmeyle ayrılmış değerler, anahtarsız |
yaml |
JSON'a insan tarafından okunabilir bir alternatif olan YAML |
yamlc |
Renklendirilmiş YAML |
none |
Hatalar ve uyarılar dışında çıkış yok |
Uyarı
API anahtarları ve kimlik bilgileri gibi gizli dizileri açığa çıkarmaktan kaçınmak için komut çıktısının none çıkış biçimini kullanın veya bir değişkende depolayın.
Not: Bazı CI/CD ortamları, yürütülen komutların çıkışını günlüklerde depolayabilir. Bu günlük dosyalarının içeriğini ve günlüklere kimlerin erişebildiğini onaylamak iyi bir uygulamadır. Daha fazla bilgi için bkz. Yok çıkış biçimi.
JSON çıkış biçimi (varsayılan)
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 çıktıda özet olması için bazı alanlar atlanmış ve kimlik bilgileri değiştirilmiştir.
[
{
"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ışı düz metin veri serileştirme biçimi olan YAML olarak yazdırır. YAML, JSON'dan daha kolay okunur ve bu biçime uyum sağlar. Bazı uygulamalar ve Azure CLI komutları, JSON yerine yaml'yi yapılandırma girişi olarak alır.
az vm list --output yaml
Aşağıdaki çıktıda özet olması için bazı alanlar atlanmış ve kimlik bilgileri değiştirilmiştir.
- 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, çıktıyı ASCII tablosu olarak yazdırarak okunmasını ve taranmasını kolaylaştırır. İç içe nesneler tablo çıkışına dahil değildir, ancak yine de sorgunun bir parçası olarak filtrelenebilir. Bazı alanlar tabloya eklenmediğinden, verilere hızlı ve insan tarafından aranabilir bir genel bakış istediğinizde bu biçim en iyisidir.
az vm list --output table
Name ResourceGroup Location
----------- --------------- ----------
DemoVM010 DEMORG1 westus
demovm212 DEMORG1 westus
demovm213 DEMORG1 westus
KBDemo001VM RGDEMO001 westus
KBDemo020 RGDEMO001 westus
Liste çıkışında --query göstermek istediğiniz özellikleri ve sütunları özelleştirmek için parametresini kullanabilirsiniz. Aşağıdaki örnekte, komutta yalnızca VM Adı ve Kaynak Grubu Adı'nı seçme gösterilmektedir list .
az vm list --query "[].{resource:resourceGroup, name:name}" --output table
Resource Name
---------- -----------
DEMORG1 DemoVM010
DEMORG1 demovm212
DEMORG1 demovm213
RGDEMO001 KBDemo001VM
RGDEMO001 KBDemo020
Uyarı
Bazı anahtarlar varsayılan olarak tablo görünümünde yazdırılmaz. Bu anahtarlar id, type ve etag tuşlarını içerir. Çıktınızda bunlara ihtiyacınız varsa, anahtar adını değiştirmek ve filtrelemeyi önlemek için JMESPath yeniden anahtar oluşturma özelliğini kullanabilirsiniz.
az vm list --query "[].{objectID:id}" --output 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
Çıkış tsv biçimi, ek biçimlendirme, anahtar veya diğer simgeler olmadan sekme ve yeni satırla ayrılmış değerler döndürür. Bu biçim, çıkışın, metni bir biçimde işlemesi gereken diğer komut ve araçlarda kullanılmasını kolaylaştırır.
table Biçimi gibi, tsv iç içe nesneleri yazdırmaz.
Önceki örneği tsv seçeneğiyle kullanmak, sekme ile ayrılmış sonucu verir.
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
tsv çıkış formatının bir kısıtlaması, çıkış sıralamasında bir garanti olmamasıdır. Azure CLI, JSON yanıtındaki anahtarları alfabetik olarak sıralayarak ve çıktı için değerlerini sırayla yazdırarak sırayı korumak amacıyla tsv en iyi şekilde çaba gösterir. Azure hizmeti yanıt biçimi değişebileceğinden siparişin her zaman aynı olması garanti değildir.
Tutarlı sıralamayı zorunlu kılmak için parametresini --query ve çoklu seçim listesi biçimini kullanmanız gerekir. Azure CLI komutu tek bir JSON sözlüğü döndürdüğünde, bir anahtar sırasını zorlamak için [key1, key2, ..., keyN] genel biçimini kullanın. Dizi döndüren Azure CLI komutları için sütun değerlerini sıralamak için genel biçimi [].[key1, key2, ..., keyN] kullanın.
Örneğin, kimlik, konum, kaynak grubu ve VM adına göre görüntülenen bu bilgileri sıralamak için:
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
Sonraki örnek, Bash'teki tsv çıkışını diğer komutlara nasıl yönlendirebileceğinizi gösterir. Sorgu, çıktıyı filtrelemek ve sıralamayı zorlamak için kullanılır, grep içinde metin RGD bulunan öğeleri seçer, ardından cut komut çıktıda VM'nin adını göstermek için dördüncü alanı seçer.
az vm list --output tsv --query '[].[id, location, resourceGroup, name]' | grep RGD | cut -f4
KBDemo001VM
KBDemo020
Çıkış tsv biçimi genellikle değişkenlere değer atarken kullanılır. Bu örnek, etkin abonelik kimliğini alır ve betikte kullanmak üzere bir değişkende depolar.
# Bash Script
subscriptionID=$(az account show --query id --output tsv)
echo "Using subscription ID $subscriptionID"
--query Diğer parametre örnekleri için bkz. Azure CLI komut çıktısını sorgulama.
Çıkış biçimi yok
Bazı Azure CLI komutları, korumanız gereken bilgiler verir. Dört örnek aşağıda verilmiştir:
- Parolalar
- Bağlantı stringleri
- Sırlar
- Anahtarlar
Azure CLI komutlarını kullanırken gizli dizileri ve anahtarları korumak için şu seçeneklerden birini belirleyin:
| Seçenek | Fayda | Kullanım örneği |
|---|---|---|
--output none çıkış biçimi |
Konsolunuzda hassas bilgilerin görüntülenmesini engeller. Komutunuz başarısız olursa hata iletileri almaya devam edebilirsiniz. | 1. Komut çıktısı daha sonra alınabilecekse kullanın. |
| 2. Çıkışa ihtiyacınız olmadığında kullanın. | ||
| 3. Azure kaynaklarını yönetmek için yönetilen kimlik veya hizmet sorumlusu kullanılırken sık kullanılan bir seçenektir. | ||
--query parametresi |
Çıkışı bir değişkende depolar. | 1. Komut çıktısı daha sonra alınamıyorsa kullanın. |
| 2. Betikte bir komut çıktısı değeri kullanmanız gerektiğinde kullanın. |
Güvenlik bilgilerini daha sonra alma
Bazı Azure gizli bilgiler daha sonra alınabilir. Azure Key Vault'ta depolanan sırlar bir örnektir. Bu örnekte az keyvault secret set--output none seçeneğini kullanarak bir Azure Key Vault gizli dizisi oluşturun. Gizli bilgiyi daha sonra az keyvault secret show komutunu kullanarak alabilirsiniz.
az keyvault secret set --name MySecretName \
--vault-name MyKeyVaultName \
--value MySecretValue\
--output none
Güvenlik bilgilerini bir değişkende depolama
Çıkışı bir değişkende depolamak için kullanımı --query teknik olarak bir çıkış biçimi değildir. Gizli bilgileri korumaya yönelik bir çözümdür ve --output none kullanmaya bir alternatiftir. Örneğin, bir hizmet sorumlusu kimlik bilgilerini sıfırladığınızda parola yeniden alınamaz.
Varsayılan json biçiminde çıkış döndüren bir hizmet sorumlusu kimlik bilgilerini sıfırlayın:
# reset service principal credentials using default output format (json).
az ad sp credential reset --id myServicePrincipalID --output json
Konsoldaki yeni parolayı gösteren konsol çıkışı.
{
"appId": "myServicePrincipalID",
"password": "myServicePrincipalNewPassword",
"tenant": "myTenantID"
}
Daha iyi bir çözüm, hassas bilgileri bir değişkene döndürmektir.
# 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"
Çıktıyı bir değişkene depolama hakkında daha fazla örnek için bkz. Azure CLI'yi başarıyla kullanma - değerleri başka bir komuta geçirme. Parametre söz dizimi hakkında --query daha fazla bilgi edinmek için bkz. Azure CLI komut çıktısını sorgulama.
Varsayılan çıkış biçimini ayarlama
Azure CLI komutları, iki yolla denetlenebilen bir çıkış sağlar:
| Çıkış denetimi | Fayda | Nasıl yapılır |
|---|---|---|
| Genel ayar | Her başvuru komutu için sürekli bir parametre sağlamanız gerekmemesi için en çok kullandığınız varsayılan çıkış --output değerini seçin. |
az config set kullanarak varsayılan bir çıkış biçimi belirtin. |
| Komut parametresi | Çıktıyı komut düzeyinde belirtin ve betiklerinize maksimum esneklik sağlayın. Her başvuru komutu için konsol çıkışını ve değişken girişini denetlersiniz. | Başvuru komutunun --output parametresini kullanarak varsayılan ayarı geçersiz kılın. |
Azure CLI için varsayılan çıktıdır json. Konsol çıktısı gerekmediğinde varsayılan çıktıyı none olarak ayarlayın.
az config set core.output=none
--output parametresini kullanarak herhangi bir Azure CLI referans komutunun varsayılan çıktısının üzerine yazabilirsiniz. Komut çıkışını değiştiren ve test eden komutların betiği aşağıdadır:
# 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