Bagikan melalui


Dapatkan informasi VM dengan pertanyaan

Sekarang setelah VM dibuat, informasi terperinci tentangnya dapat diambil. Perintah umum untuk mendapatkan informasi dari sumber daya adalah show.

az vm show --name $vmName --resource-group $resourceGroup

Komputer Virtual memiliki banyak properti yang dapat sulit diurai secara visual. JSON yang dikembalikan berisi informasi tentang autentikasi, penyimpanan antarmuka jaringan, dan banyak lagi. Yang terpenting, ini berisi ID objek Azure untuk sumber daya yang tersambung dengan VM. ID objek memungkinkan akses sumber daya ini secara langsung untuk mendapatkan informasi selengkapnya tentang konfigurasi dan kemampuan VM.

Untuk mengekstrak ID objek, --query argumen digunakan. Kueri ditulis dalam bahasa kueri JMESPathMulai dengan mendapatkan ID objek pengontrol antarmuka jaringan (NIC).

az vm show --name $vmName \
  --resource-group $resourceGroup \
  --query 'networkProfile.networkInterfaces[].id' \
  --output tsv

Ada banyak hal yang terjadi di sini, hanya dengan menambahkan kueri. Setiap bagian darinya mereferensikan kunci dalam output JSON, atau merupakan operator JMESPath.

  • networkProfile adalah kunci JSON tingkat atas, yang memiliki networkInterfaces sebagai subkuncu. Jika nilai JSON adalah kamus, kuncinya direferensikan dari kunci induk dengan . operator.
  • Nilai networkInterfaces adalah array, jadi di-flatten dengan operator []. Operator ini menjalankan sisa kueri pada setiap elemen array. Dalam hal ini, ia mendapatkan nilai dari setiap elemen array id.

Format tsv output (nilai yang dipisahkan tab) dijamin hanya menyertakan data hasil dan spasi putih yang terdiri dari tab dan baris baru. Karena nilai yang dikembalikan adalah string kosong tunggal, aman untuk menetapkan langsung ke variabel shell.

Untuk informasi selengkapnya tentang mengkueri output Azure CLI, lihat Cara mengkueri output perintah Azure CLI menggunakan kueri JMESPath

Lanjutkan dan tetapkan ID objek NIC ke variabel shell sekarang.

nicId=$(az vm show \
  -n $vmName \
  -g $resourceGroup \
  --query 'networkProfile.networkInterfaces[].id' \
  -o tsv)

Contoh ini juga menunjukkan penggunaan argumen pendek. Anda dapat menggunakan -g alih-alih --resource-group, -n alih-alih --name, dan -o alih-alih --output.