Bagikan melalui


Tips untuk menggunakan Azure CLI dengan sukses

Azure CLI adalah alat baris perintah yang memungkinkan Anda mengonfigurasi dan mengelola sumber daya Azure dari banyak lingkungan shell. Setelah Anda memilih lingkungan shell pilihan Anda dan menginstal Azure CLI, gunakan artikel ini untuk menemukan tips yang berguna tentang cara menghindari perangkap umum dan berhasil menggunakan Azure CLI.

Untuk mempelajari selengkapnya tentang perintah Azure CLI tertentu, lihat daftar Referensi Azure CLI.

Pilih bahasa skrip

Azure CLI adalah alat sumber terbuka yang dapat Anda jalankan dalam banyak bahasa pembuatan skrip.

  • Ini adalah bahasa skrip yang menentukan aturan kutipan, karakter escape, dan kelanjutan baris untuk perintah Azure CLI.
  • Mungkin sulit untuk menyalin sintaks perintah Azure CLI yang berisi tanda kutip tunggal atau ganda, karakter escape, atau karakter kelanjutan baris antar bahasa.
  • Sebagian besar dokumentasi Microsoft untuk Azure CLI ditulis dan diuji di Bash.
  • Jika PowerShell adalah bahasa skrip pilihan Anda, pertimbangkan untuk menggunakan alat ini, Azure PowerShell, yang memiliki fungsionalitas bahasa pembuatan skrip PowerShell asli.

Untuk informasi selengkapnya tentang opsi bahasa pembuatan skrip untuk Azure CLI, lihat Memilih alat baris perintah yang tepat.

FAQ

Berikut adalah beberapa tautan untuk membantu Anda menjawab pertanyaan Azure CLI yang paling sering diajukan:

Area subjek dengan tautan artikel Tip
Bekerja di belakang proksi Informasi tentang cara bekerja melalui server proksi.
Pengelola Akun Web (WAM) Informasi tentang WAM dan cara menonaktifkannya.
Pengaturan konfigurasi Daftar pengaturan konfigurasi Azure CLI yang tersedia, cara mengaktifkan/menonaktifkan fitur Azure CLI, dan mengatur nilai default.
Format output Instruksi tentang cara menyimpan ID sumber daya Azure dalam variabel, dan melindungi rahasia yang dikembalikan oleh perintah Azure CLI.
Meneruskan nilai JSON dalam string Mengutip contoh untuk nilai parameter JSON.
Siklus hidup dukungan Informasi tentang sistem operasi yang didukung, bahasa skrip, dan akhir layanan untuk versi dan dependensi Azure CLI.
REST API Perintah az rest alternatif untuk digunakan saat perintah Azure CLI tertentu tidak tersedia untuk sumber daya Azure.
Grup referensi Azure CLI Daftar ke Z grup referensi Azure CLI dengan telusuri paling detail ke subgrup dan semua perintah Azure CLI.
Artikel Azure CLI Daftar Mulai Cepat, Panduan Cara Penggunaan, dan Tutorial ke Z yang menggunakan perintah referensi Azure CLI. Daftar dikelompokkan menurut grup referensi dan subgrup untuk pencarian yang mudah.
Sampel Azure CLI Daftar Sampel ke Z, termasuk sampel tersebut di repositori GitHub Azure-samples/azure-cli-samples.
Pemecahan Masalah Penyebab kesalahan dan tips remediasi.
Yang baru Ringkasan singkat fitur Azure CLI baru.

Meneruskan nilai ke perintah lain

Jika nilai digunakan lebih dari sekali, tetapkan ke variabel. Variabel memungkinkan Anda menggunakan nilai lebih dari sekali atau untuk membuat lebih banyak skrip umum. Contoh ini menetapkan ID yang ditemukan oleh perintah az vm list ke variabel.

# assign the list of running VMs to a variable
running_vm_ids=$(az vm list --resource-group MyResourceGroup --show-details \
    --query "[?powerState=='VM running'].id" --output tsv)

# verify the value of the variable
echo $running_vm_ids

Jika nilai hanya digunakan sekali, pertimbangkan penyaluran. (Piping meneruskan output dari satu perintah sebagai input ke perintah kedua.)

az vm list --query "[?powerState=='VM running'].name" --output tsv | grep my_vm

Untuk daftar multinilai, pertimbangkan opsi berikut:

  1. Jika Anda memerlukan lebih banyak kontrol pada hasilnya, gunakan perulangan "for":
#!/usr/bin/env bash
for vmList in $(az vm list --resource-group MyResourceGroup --show-details --query "[?powerState=='VM running'].id"   -output tsv); do
    echo stopping $vmList
    az vm stop --ids $vmList
    if [ $? -ne 0 ]; then
        echo "Failed to stop $vmList"
        exit 1
    fi
    echo $vmList stopped
done
  1. Atau, gunakan xargs dan pertimbangkan untuk menggunakan bendera -P untuk menjalankan operasi secara paralel guna meningkatkan performa:
az vm list --resource-group MyResourceGroup --show-details \
    --query "[?powerState=='VM stopped'].id" \
    --output tsv | xargs -I {} -P 10 az vm start --ids "{}"
  1. Akhirnya, Azure CLI memiliki dukungan bawaan untuk memproses perintah dengan beberapa --ids secara paralel untuk mencapai efek xarg yang sama. @- digunakan untuk mendapatkan nilai dari pipa:
az vm list --resource-group MyResourceGroup --show-details \
    --query "[?powerState=='VM stopped'].id" \
    --output tsv | az vm start --ids @-

Untuk informasi selengkapnya tentang menggunakan konstruksi Bash dengan Azure CLI termasuk perulangan, pernyataan kasus, if..then..else, dan penanganan kesalahan, lihat Mempelajari cara menggunakan Bash dengan Azure CLI.

Parameter pembaruan umum

Grup perintah Azure CLI sering menonjolkan perintah pembaruan. Misalnya, Azure Virtual Machines menyertakan perintah az vm update. Sebagian besar perintah pembaruan menawarkan tiga parameter umum: --add, , --setdan --remove.

Parameter --set dan --add menggunakan daftar pasangan nilai kunci yang dipisahkan spasi: key1=value1 key2=value2. Untuk melihat properti yang dapat diperbarui, gunakan perintah tampilkan, seperti az vm show.

az vm show --resource-group VMResources --name virtual-machine-01

Untuk menyederhanakan perintah, pertimbangkan untuk menggunakan string JSON. Misalnya, untuk menyertakan disk data baru ke mesin virtual, gunakan nilai berikut:

az vm update --resource-group VMResources --name virtual-machine-01 \
--add storageProfile.dataDisks "{\"createOption\": \"Attach\", \"managedDisk\":
   {\"id\":
   \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/yg/providers/Microsoft.Compute/disks/yg-disk\"},
   \"lun\": 1}"

Perintah sumber daya generik

Layanan yang ingin Anda kerjakan mungkin tidak memiliki dukungan Azure CLI. Anda dapat menggunakan perintah az resource atau az rest untuk bekerja dengan sumber daya ini.

Eksekusi bersamaan

Jika Anda menjalankan perintah Azure CLI secara bersamaan pada komputer yang sama, konflik penulisan dapat terjadi jika beberapa perintah Azure CLI menulis ke cache token Microsoft Authentication Library (MSAL) yang sama.

Untuk menghindari potensi kegagalan, isolasi folder konfigurasi Azure CLI untuk setiap skrip dengan mengatur variabel AZURE_CONFIG_DIR lingkungan untuk setiap skrip ke direktori terpisah. Perintah Azure CLI dalam skrip tersebut menyimpan konfigurasi dan cache token ke lokasi yang dikonfigurasi alih-alih folder default ~/.azure .

export AZURE_CONFIG_DIR=/my/config/dir

Operasi Asinkron

Operasi di Azure dapat memakan waktu banyak waktu. Misalnya, mengonfigurasi mesin virtual di pusat data tidaklah instan. Azure CLI menunggu hingga perintah selesai untuk menerima perintah lain. Oleh karena itu, banyak perintah menawarkan parameter --no-wait seperti yang ditunjukkan di sini:

az group delete --name MyResourceGroup --no-wait

Saat Anda menghapus grup sumber daya, semua sumber daya miliknya juga dihapus. Diperlukan waktu yang lama untuk menghapus sumber daya ini. Saat Anda menjalankan perintah dengan --no-wait parameter , konsol menerima perintah baru tanpa mengganggu penghapusan.

Banyak perintah menawarkan opsi tunggu, yang menjeda konsol hingga beberapa kondisi terpenuhi. Contoh berikut menggunakan perintah az vm wait untuk mendukung pembuatan sumber daya independen secara paralel:

az vm create --resource-group VMResources --name virtual-machine-01 --image centos --no-wait
az vm create --resource-group VMResources --name virtual-machine-02 --image centos --no-wait

subscription=$(az account show --query "id" -o tsv)
vm1_id="/subscriptions/$subscription/resourceGroups/VMResources/providers/Microsoft.Compute/virtualMachines/virtual-machine-01"
vm2_id="/subscriptions/$subscription/resourceGroups/VMResources/providers/Microsoft.Compute/virtualMachines/virtual-machine-02"
az vm wait --created --ids $vm1_id $vm2_id

Setelah kedua ID dibuat, Anda dapat menggunakan konsol lagi.

Contoh skrip

Berikut adalah contoh penggunaan variabel dan perulangan melalui daftar saat menggunakan Azure Virtual Machines. Untuk contoh mendalam tentang menggunakan konstruksi Bash dengan Azure CLI termasuk perulangan, pernyataan kasus, if..then..else, dan penanganan kesalahan, lihat Mempelajari cara menggunakan Bash dengan Azure CLI.

Gunakan skrip ini untuk menyimpan ID ke variabel:

ECHO OFF
SETLOCAL
FOR /F "tokens=* USEBACKQ" %%F IN (
   `az vm list --resource-group VMResources --show-details --query "[?powerState=='VM running'].id" --output tsv`
) DO (
    SET "vm_ids=%%F %vm_ids%"  :: construct the id list
)
az vm stop --ids %vm_ids% :: CLI stops all VMs in parallel

Gunakan skrip ini untuk mengulang daftar:

ECHO OFF
SETLOCAL
FOR /F "tokens=* USEBACKQ" %%F IN (
    `az vm list --resource-group VMResources --show-details --query "[?powerState=='VM running'].id" --output tsv`
) DO (
    ECHO Stopping %%F
    az vm stop --ids %%F
)

Lihat juga