Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Azure CLI menggunakan JSON sebagai format output defaultnya, tetapi menawarkan format lain.
--output Gunakan parameter (--out atau -o) untuk memformat output Azure CLI. Nilai argumen dan jenis output adalah:
| --hasil | Deskripsi |
|---|---|
json |
String JSON. Pengaturan ini adalah default |
jsonc |
JSON berwarna |
table |
Tabel ASCII dengan kunci sebagai judul kolom |
tsv |
Nilai yang dipisahkan tab, tanpa kunci |
yaml |
YAML, alternatif yang dapat dibaca manusia untuk JSON |
yamlc |
YAML Berwarna |
none |
Tidak ada output selain kesalahan dan peringatan |
Peringatan
Untuk menghindari mengekspos rahasia seperti kunci API dan kredensial, gunakan format none output atau simpan output perintah dalam variabel.
Nota: Lingkungan CI/CD tertentu mungkin menyimpan output perintah yang dijalankan dalam log. Ini adalah praktik yang baik untuk mengonfirmasi konten file log tersebut dan siapa yang memiliki akses ke log. Untuk informasi selengkapnya, lihat Format output tidak ada.
Format keluaran JSON (bawaan)
Contoh berikut menampilkan daftar komputer virtual dalam langganan Anda dalam format JSON default.
az vm list --output json
Output berikut memiliki beberapa bidang yang dihilangkan untuk singkatnya, dan informasi identifikasi diganti.
[
{
"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"
}
]
},
...
...
...
]
Format output YAML
yaml Format mencetak output sebagai YAML, format serialisasi data teks biasa. YAML cenderung lebih mudah dibaca daripada JSON, dan memetakan ke format tersebut. Beberapa aplikasi dan perintah Azure CLI mengambil YAML sebagai input konfigurasi, bukan JSON.
az vm list --output yaml
Output berikut memiliki beberapa bidang yang dihilangkan untuk singkatnya, dan informasi identifikasi diganti.
- 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
...
...
Format tabel keluaran
Format table mencetak output sebagai tabel dalam format ASCII, sehingga mudah untuk dibaca dan dipindai. Objek berlapis tidak disertakan dalam output tabel, tetapi masih dapat difilter sebagai bagian dari kueri. Beberapa bidang tidak disertakan dalam tabel, sehingga format ini adalah yang terbaik saat Anda menginginkan gambaran umum data yang cepat dan dapat dicari manusia.
az vm list --output table
Name ResourceGroup Location
----------- --------------- ----------
DemoVM010 DEMORG1 westus
demovm212 DEMORG1 westus
demovm213 DEMORG1 westus
KBDemo001VM RGDEMO001 westus
KBDemo020 RGDEMO001 westus
Anda dapat menggunakan --query parameter untuk mengkustomisasi properti dan kolom yang ingin Anda tampilkan dalam output daftar. Contoh berikut menunjukkan cara memilih Hanya Nama VM dan Nama Grup Sumber Daya dalam list perintah.
az vm list --query "[].{resource:resourceGroup, name:name}" --output table
Resource Name
---------- -----------
DEMORG1 DemoVM010
DEMORG1 demovm212
DEMORG1 demovm213
RGDEMO001 KBDemo001VM
RGDEMO001 KBDemo020
Nota
Beberapa kunci tidak dicetak dalam tampilan tabel secara default. Kunci ini termasuk id, type, dan etag. Jika Anda membutuhkannya dalam output, Anda dapat menggunakan fitur kunci ulang JMESPath untuk mengubah nama kunci dan menghindari pemfilteran.
az vm list --query "[].{objectID:id}" --output table
Untuk informasi selengkapnya tentang menggunakan kueri untuk memfilter data, lihat Menggunakan kueri JMESPath dengan Azure CLI.
Format output TSV
tsv Format keluaran mengembalikan nilai yang dipisahkan oleh tab dan baris baru tanpa pemformatan tambahan, kunci, atau simbol lainnya. Format ini memudahkan untuk mengalirkan keluaran ke perintah dan alat lain yang perlu memproses teks dalam berbagai bentuk. Seperti formatnya table , tsv tidak mencetak objek berlapis.
Menggunakan contoh sebelumnya dengan opsi tsv menghasilkan keluaran yang dipisahkan oleh tab.
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
Salah satu batasan tsv format output adalah bahwa tidak ada jaminan pada pengurutan output. Azure CLI melakukan upaya terbaik untuk mempertahankan pengurutan dengan mengurutkan kunci dalam respons JSON menurut abjad, lalu mencetak nilainya untuk tsv output. Tidak ada jaminan bahwa pesanan selalu identik, karena format respons layanan Azure dapat berubah.
Untuk menerapkan pengurutan yang konsisten, Anda perlu menggunakan --query parameter dan format daftar multipilih . Saat perintah Azure CLI mengembalikan satu kamus JSON, gunakan format [key1, key2, ..., keyN] umum untuk memaksa urutan kunci. Untuk perintah Azure CLI yang mengembalikan array, gunakan format [].[key1, key2, ..., keyN] umum untuk mengurutkan nilai kolom.
Misalnya, untuk mengurutkan informasi ini yang ditampilkan oleh ID, lokasi, grup sumber daya, dan nama VM:
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
Contoh berikutnya menunjukkan bagaimana Anda dapat menyalurkan tsv output ke perintah lain di Bash. Kueri digunakan untuk memfilter output dan pengurutan paksa, grep memilih item yang memiliki teks RGD di dalamnya, lalu cut perintah memilih bidang keempat untuk menampilkan nama VM dalam output.
az vm list --output tsv --query '[].[id, location, resourceGroup, name]' | grep RGD | cut -f4
KBDemo001VM
KBDemo020
tsv Format output sering digunakan saat menetapkan nilai ke variabel. Contoh ini mendapatkan ID langganan aktif dan menyimpannya ke dalam variabel untuk digunakan dalam skrip.
# Bash Script
subscriptionID=$(az account show --query id --output tsv)
echo "Using subscription ID $subscriptionID"
Untuk contoh parameter lainnya, lihat Cara mengkueri --queryoutput perintah Azure CLI.
Format output tidak ada
Beberapa informasi output perintah Azure CLI yang harus Anda lindungi. Berikut adalah empat contoh:
- Kata Sandi
- String sambungan
- Rahasia
- Tombol / Kunci
Untuk melindungi rahasia dan kunci saat menggunakan perintah Azure CLI, pilih salah satu opsi berikut:
| Opsi | Keuntungan | Skenario penggunaan |
|---|---|---|
--output none format keluaran |
Menjaga agar informasi sensitif tidak ditampilkan di konsol Anda. Jika perintah gagal, Anda masih menerima pesan kesalahan. | 1. Gunakan ketika output perintah dapat diambil di lain waktu. |
| 2. Gunakan ketika Anda tidak perlu output. | ||
| 3. Pilihan umum ketika identitas terkelola atau perwakilan layanan digunakan untuk mengelola sumber daya Azure. | ||
parameter --query |
Menyimpan output dalam variabel. | 1. Gunakan ketika output perintah tidak dapat diambil di lain waktu. |
| 2. Gunakan saat Anda perlu menggunakan nilai output perintah dalam skrip. |
Mengambil informasi keamanan di lain waktu
Beberapa rahasia Azure dapat diambil pada waktu yang lain. Contohnya adalah rahasia yang disimpan di Azure Key Vault. Dalam contoh ini, buat secret Azure Key Vault menggunakan az keyvault secret set dengan opsi --output none. Anda dapat mengambil rahasia tersebut nanti dengan menggunakan perintah az keyvault secret show.
az keyvault secret set --name MySecretName \
--vault-name MyKeyVaultName \
--value MySecretValue\
--output none
Menyimpan informasi keamanan ke variabel
Penggunaan --query untuk menyimpan output dalam variabel secara teknis bukan format output. Ini adalah solusi untuk melindungi rahasia, dan merupakan alternatif untuk menggunakan --output none. Misalnya, saat Anda mengatur ulang kredensial perwakilan layanan, kata sandi tidak dapat diambil lagi.
Atur ulang kredensial perwakilan layanan yang mengembalikan output dalam format json default:
# reset service principal credentials using default output format (json).
az ad sp credential reset --id myServicePrincipalID --output json
Output konsol memperlihatkan kata sandi baru di konsol.
{
"appId": "myServicePrincipalID",
"password": "myServicePrincipalNewPassword",
"tenant": "myTenantID"
}
Solusi yang lebih baik adalah mengembalikan informasi sensitif ke variabel.
# 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"
Untuk contoh selengkapnya tentang menyimpan output ke variabel, lihat Menggunakan Azure CLI dengan sukses - meneruskan nilai ke perintah lain. Untuk mempelajari selengkapnya tentang --query sintaks parameter, lihat Cara mengkueri output perintah Azure CLI.
Mengatur format output bawaan
Perintah Azure CLI menyediakan output yang dapat dikontrol dengan dua cara:
| Kontrol output | Keuntungan | Panduan |
|---|---|---|
| Pengaturan global | Pilih nilai output default yang paling sering Anda gunakan sehingga Anda tidak perlu terus memberikan --output parameter untuk setiap perintah referensi. |
Tentukan format output default menggunakan az config set. |
| Parameter perintah | Tentukan output pada tingkat perintah dan berikan fleksibilitas maksimum skrip Anda. Anda mengontrol output konsol dan input variabel untuk setiap perintah referensi. | Ambil alih pengaturan default menggunakan parameter perintah --output referensi. |
Output default untuk Azure CLI adalah json. Atur output default ke none saat output konsol tidak diperlukan.
az config set core.output=none
Anda dapat mengganti keluaran default dari setiap perintah Azure CLI dengan menggunakan parameter --output. Berikut adalah skrip perintah yang mengubah dan menguji output perintah:
# 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