Sorgularla VM bilgilerini alma
VM oluşturulduğuna göre VM ile ilgili ayrıntılı bilgiler alınabilir. Bir kaynaktan bilgi almaya yönelik ortak komut show
şeklindedir.
az vm show --name $vmName --resource-group $resourceGroup
Sanal Makinenin görsel olarak ayrıştırılması zor olabilecek birçok özelliği vardır. Döndürülen JSON kimlik doğrulaması, ağ arabirimi depolama alanı ve daha fazlası hakkında bilgi içerir. En önemlisi de JSON’nin VM’nin bağlandığı kaynaklara ilişkin Azure nesne kimliklerini içermesidir. Nesne kimlikleri, VM’nin yapılandırması ve özellikleri ile ilgili daha fazla bilgi alınması için bu kaynaklara doğrudan erişilebilmesini sağlar.
Nesne kimliğini --query
ayıklamak için bağımsız değişken kullanılır. Sorgular JMESPath sorgu dilindeyazılır Ağ arabirim denetleyicisi (NIC) nesne kimliğini alarak başlayın.
az vm show --name $vmName \
--resource-group $resourceGroup \
--query 'networkProfile.networkInterfaces[].id' \
--output tsv
Yalnızca sorgunun eklenmesiyle burada birçok işlem gerçekleşir. Bunun her bir bölümü JSON çıkışındaki bir anahtara başvurur veya JMESPath işlecidir.
networkProfile
, üst düzey JSON’nin,networkInterfaces
alt anahtarına sahip bir anahtarıdır. JSON değeri bir sözlük ise.
işleciyle üst anahtardan bu değerin anahtarlarına başvurulur.networkInterfaces
Değer bir dizi olduğundan işleçle[]
düzleştirilmiştir. Bu işleç, sorgunun geri kalanını her dize öğesinde çalıştırır. Bu durumda, her dize öğesininid
değerini alır.
tsv
çıkış biçiminin (sekmeyle ayrılmış değerler), yalnızca sonuç verileri ile sekmelerden ve yeni satırlardan oluşan boşluklar içermesi sağlanır.
Döndürülen değer tek bir çıplak dize olduğundan, doğrudan bir kabuk değişkenine atamak güvenlidir.
Azure CLI çıkışını sorgulama hakkında daha fazla bilgi için bkz . JMESPath sorgusu kullanarak Azure CLI komut çıktısını sorgulama
Devam edin ve NIC nesne kimliğini şimdi bir kabuk değişkenine atayın.
nicId=$(az vm show \
-n $vmName \
-g $resourceGroup \
--query 'networkProfile.networkInterfaces[].id' \
-o tsv)
Bu örnekte aynı zamanda kısa bağımsız değişkenlerin kullanımı da gösterilmektedir. --resource-group
yerine -g
, --name
yerine -n
ve --output
yerine -o
kullanabilirsiniz.