Aracılığıyla paylaş


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 öğesinin id 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.