Vytváření prostředků pomocí skriptu Azure CLI
Složité nebo opakující se úlohy můžou být časově náročné a náchylné k chybám při ručním provedení. Organizace raději tyto úlohy automatizují, aby snížily náklady a vyhnuly se chybám.
Automatizace je nezbytná v příkladu správy vztahů se zákazníky (CRM), ve kterém testujete software na více virtuálních počítačích. Tyto počítače může být potřeba průběžně odstraňovat a znovu vytvářet. Použití skriptu Azure CLI k automatizaci vytváření virtuálních počítačů je mnohem efektivnější a spolehlivější než ruční vytváření pokaždé.
Kromě základní operace vytvoření virtuálního počítače musí váš skript splňovat několik dalších požadavků:
-
Vytvoření několika virtuálních počítačů: Slouží
az vm create
k vytvoření několika jedinečně pojmenovaných virtuálních počítačů. - Parametr skupiny prostředků: Umožňuje skriptu přijmout název skupiny prostředků jako parametr.
V této lekci se naučíte psát a spouštět skript Azure CLI v prostředí Bash, které splňuje tyto požadavky.
Co je az Azure CLI Bash script?
Skript Azure CLI je textový soubor obsahující příkazy a konstrukty ovládacích prvků. Skript spouští referenční příkazy a konstrukty ovládacích prvků jsou programovací funkce, jako jsou smyčky, proměnné, parametry, komentáře atd. dodané prostředím Bash.
Soubory skriptů Azure CLI Bash mají příponu .sh
souboru. Tyto soubory můžete vytvořit a uložit pomocí libovolného textového editoru.
Po vytvoření skriptu ho můžete spustit z příkazového řádku předáním názvu souboru. Před název souboru zadejte tečku pro aktuální adresář a zpětné lomítko:
.\myScript.sh
Techniky Bash
Bash obsahuje běžně používané funkce v programovacích jazycích. Pro skript, na který se zaměřujete v tomto cvičení, používáte tři klíčové funkce: proměnné, smyčky a parametry.
Proměnné
V Azure CLI přiřazování hodnoty proměnné automaticky vytvoří proměnnou. Příklad:
location="eastus"
Pokud chcete určit hodnotu uloženou v proměnné, použijte předponu $
a její název:
echo $location
Smyčky
Bash má několik struktur smyčky, včetně until
, while
a for
. Smyčka for
je dobrou volbou pro scénáře, ve kterých potřebujete spustit smyčku nad nastaveným počtem hodnot v kolekci.
#!/bin/bash
for i in 1 2 3
do
echo "Loop $i times"
done
Parametry
Při vytváření skriptu Azure CLI můžete do skriptu přidat parametry a při spuštění skriptu zadat hodnoty těchto parametrů. Příklad:
.\setupEnvironment.sh parameter1 parameter2 parameter3
Uvnitř skriptu zachyťte hodnoty do proměnných. V tomto příkladu jsou parametry loopCount a name:
#!/bin/bash
loopCount=3
name="msdocs"
for i in $(seq 1 $loopCount)
do
loopName="loop $i for $name"
echo $loopName
done
Výstup vypadá takto:
loop 1 for msdocs
loop 2 for msdocs
loop 3 for msdocs
Parametry můžete použít jako vstup a smyčku k vytvoření sady virtuálních počítačů na základě daných parametrů. Tento přístup zachová obecný skript a vyhne se opakování stejného kódu.
Ukázkový skript
Tady je ukázkový skript, který ukazuje použití proměnných, smyček a parametrů k vytvoření několika virtuálních počítačů:
#!/bin/bash
# Assign parameters to variables
vmCount=$1
adminUserPrefix=$2
shift 2
images=("$@")
# Loop
for i in $(seq 1 $vmCount)
do
let "randomIdentifier=$RANDOM*$RANDOM"
resourceGroupName="msdocs-rg-$randomIdentifier"
location="westus"
adminUserName="msdocs-$randomIdentifier"
vmName="msdocs-vm-$randomIdentifier"
vmImage=${images[$((i-1)) % ${#images[@]}]}
echo "Creating VM $vmName on $mvImage with admin $adminUserName in resource group $resourceGroupName"
# create the resource group
az group create --name $resourceGroupName --location $location
# create the VM
az vm create \
--resource-group $resourceGroupName \
--location $location \
--admin-username $adminUserName \
--name $vmName \
--image $vmImage \
--generate-ssh-keys
done
Spuštění skriptu
Uložte skript jako msdocs-script.sh
a spusťte ho z příkazového řádku Bash a zadejte požadované parametry:
./msdocs-script.sh 3 Debian11 Debian11 Ubuntu2204
Pomocí tohoto skriptu můžete efektivně vytvářet několik virtuálních počítačů v různých skupinách prostředků, automatizovat opakující se úlohy a zajistit konzistenci v celém prostředí Azure. V další lekci sestavíme tento skript, abychom zahrnuli další parametry a zkontrolovali úspěšné dokončení.