Megosztás a következőn keresztül:


Tippek az Azure CLI sikeres használatához

Az Azure CLI egy parancssori eszköz, amellyel számos rendszerhéj-környezetből konfigurálhatja és kezelheti az Azure-erőforrásokat. Miután kiválasztotta az előnyben részesített rendszerhéj-környezetet , és telepítette az Azure CLI-t, ebből a cikkből hasznos tippeket talál a gyakori buktatók elkerüléséhez és az Azure CLI sikeres használatához.

Az Egyes Azure CLI-parancsokkal kapcsolatos további információkért tekintse meg az Azure CLI referencialistáját.

Szkriptnyelv kiválasztása

Az Azure CLI egy nyílt forráskód eszköz, amelyet számos szkriptnyelven futtathat.

  • Ez a szkriptnyelv határozza meg az Azure CLI-parancsok idézési, feloldási karakter- és sor-folytatási szabályait.
  • Az Azure CLI parancsszintaxisának másolása nehézkes lehet, ha egy vagy két idézőjelet, feloldó karaktert vagy sor-folytatási karaktert tartalmaz a nyelvek között.
  • Az Azure CLI-hez készült Microsoft-dokumentációk többsége a Bashben van megírva és tesztelve.
  • Ha a PowerShell a választott szkriptnyelv, fontolja meg az Azure PowerShell használatát, amely natív PowerShell-szkriptelési nyelvi funkcióval rendelkezik.

Az Azure CLI szkriptelési nyelvi beállításairól további információt a Megfelelő parancssori eszköz kiválasztása című témakörben talál.

GYIK

Íme néhány hivatkozás, amely segít megválaszolni a leggyakrabban feltett Azure CLI-kérdéseket:

Tárgyterület cikkhivatkozással Tipp.
Web Account Manager (WAM) Információk a WAM-ról és annak letiltásáról.
Konfigurációs beállítások Az Elérhető Azure CLI-konfigurációs beállítások listája, az Azure CLI-szolgáltatások be- és kikapcsolása, valamint az alapértelmezett értékek beállítása.
Kimeneti formátumok Útmutató az Azure-erőforrásazonosítók változókban való tárolásához és az Azure CLI-parancsok által visszaadott titkos kódok védelméhez.
JSON-értékek átadása sztringben Példák idézése JSON-paraméterértékekre.
Támogatási életciklus Információk a támogatott operációs rendszerekről, a szkriptnyelvekről és az Azure CLI-verziók és -függőségek szolgáltatásának megszűnéséről.
REST API Alternatív az rest parancs, amelyet akkor használhat, ha egy adott Azure CLI-parancs nem érhető el egy Azure-erőforráshoz.
Azure CLI-referenciacsoportok Az Azure CLI referenciacsoportjainak A–Z listája az alcsoportokra és az összes Azure CLI-parancsra vonatkozó részletezéssel.
Azure CLI-cikkek Az Azure CLI referenciaparancsait használó rövid útmutatók, útmutatók és oktatóanyagok A–Z listája. A lista hivatkozási csoport és alcsoport szerint van csoportosítva a könnyű keresés érdekében.
Azure CLI-minták A–Z minták listája, beleértve az Azure-samples/azure-cli-samples GitHub-adattárban található mintákat is.
Hibaelhárítás Hiba ok- és szervizelési tippek.
Újdonságok Az új Azure CLI-funkciók rövid összefoglalása.

Értékek átadása egy másik parancsnak

Ha az értéket többször használják, rendelje hozzá egy változóhoz. A változók lehetővé teszik az értékek többszöri használatát, vagy általánosabb szkriptek létrehozását. Ez a példa az az virtuálisgép-lista parancs által talált azonosítót rendel egy változóhoz.

# 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

Ha az értéket csak egyszer használja, fontolja meg a pipálást. (A Piping egy parancs kimenetét egy második parancs bemeneteként adja át.)

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

Többértékű listák esetén vegye figyelembe a következő beállításokat:

  1. Ha további vezérlőkre van szüksége az eredményhez, használjon "for" hurkot:
#!/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. Másik lehetőségként használja xargs és fontolja meg a -P jelölő használatát a műveletek párhuzamos futtatásához a jobb teljesítmény érdekében:
az vm list --resource-group MyResourceGroup --show-details \
    --query "[?powerState=='VM stopped'].id" \
    --output tsv | xargs -I {} -P 10 az vm start --ids "{}"
  1. Végül az Azure CLI beépített támogatással rendelkezik a parancsok párhuzamos --ids feldolgozásához, hogy az xargok ugyanazt a hatást érjék el. @- a cső értékeinek lekérésére szolgál:
az vm list --resource-group MyResourceGroup --show-details \
    --query "[?powerState=='VM stopped'].id" \
    --output tsv | az vm start --ids @-

További információ a Bash-szerkezetek Azure CLI-vel való használatáról, beleértve a hurkokat, a kis- és nagybetűket. akkor.. máskülönben a hibakezeléssel kapcsolatban lásd a Bash azure CLI-vel való használatát ismertető témakört.

Gyakori frissítési paraméterek

Az Azure CLI-parancscsoportok gyakran rendelkeznek frissítési paranccsal. Az Azure Virtual Machines például tartalmazza az az vm update parancsot. A legtöbb frissítési parancs a három gyakori paramétert kínálja: --add, --setés --remove.

A --set paraméterek a --add szóközzel elválasztott kulcs-érték párok listáját veszik fel: key1=value1 key2=value2. A frissíthető tulajdonságok megtekintéséhez használjon megjelenítési parancsot, például az az vm show-t.

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

A parancs egyszerűsítése érdekében fontolja meg egy JSON-sztring használatát. Ha például egy új adatlemezt szeretne egy virtuális géphez csatolni, használja a következő értéket:

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}"

Általános erőforrásparancsok

Előfordulhat, hogy a használni kívánt szolgáltatás nem rendelkezik Azure CLI-támogatással. Az az erőforrással vagy az az rest parancsokkal dolgozhat ezekkel az erőforrásokkal.

Egyidejű végrehajtás

Ha egyidejűleg futtat Azure CLI-parancsokat ugyanazon a gépen, írási ütközések akkor fordulhatnak elő, ha több Azure CLI-parancs is ugyanarra a Microsoft Authentication Library (MSAL) tokengyorsítótárra ír.

A lehetséges hibák elkerülése érdekében különítse el az Azure CLI konfigurációs mappáját az egyes szkriptekhez úgy, hogy az egyes szkriptek környezeti változóit AZURE_CONFIG_DIR külön könyvtárba állítja. Az azure CLI-parancsok ebben a szkriptben az alapértelmezett ~/.azure mappa helyett a konfigurált helyre menti a konfigurációt és a jogkivonat-gyorsítótárat.

export AZURE_CONFIG_DIR=/my/config/dir

Aszinkron műveletek

Az Azure-beli műveletek jelentős időt vehet igénybe. Egy virtuális gép adatközpontban való konfigurálása például nem azonnali. Az Azure CLI megvárja, amíg a parancs befejeződik, és elfogadja a többi parancsot. Ezért számos parancs kínál paramétert --no-wait az itt látható módon:

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

Ha töröl egy erőforráscsoportot, a program az ahhoz tartozó összes erőforrást is eltávolítja. Az erőforrások eltávolítása hosszú időt vehet igénybe. Amikor a paraméterrel futtatja a --no-wait parancsot, a konzol az eltávolítás megszakítása nélkül fogadja az új parancsokat.

Számos parancs kínál várakozási lehetőséget, és szünetelteti a konzolt, amíg valamilyen feltétel nem teljesül. Az alábbi példa az az vm wait paranccsal támogatja a független erőforrások párhuzamos létrehozását:

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

A két azonosító létrehozása után újra használhatja a konzolt.

Példaszkriptek

Az alábbiakban példákat talál a változók használatára és a listákon való ciklusokra az Azure Virtual Machines használatakor. Részletes példák a Bash-szerkezetek Azure CLI-vel való használatára, beleértve a hurkokat, a kis- és nagybetűket, az if.. akkor.. máskülönben a hibakezeléssel kapcsolatban lásd a Bash azure CLI-vel való használatát ismertető témakört.

Ezekkel a szkriptekkel mentheti az azonosítókat változókba:

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

Ezeket a szkripteket használva végighaladhat egy listán:

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
)

Lásd még