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. |
---|---|
Proxy mögötti munka | Információk a proxykiszolgálókon végzett munkáról. |
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:
- 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
- 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 "{}"
- 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
)