Skapa resurser med ett Azure CLI-skript
Komplexa eller repetitiva uppgifter kan vara tidskrävande och felbenägna när de utförs manuellt. Organisationer föredrar att automatisera dessa uppgifter för att minska kostnaderna och undvika misstag.
Automatisering är viktigt i crm-exemplet (Customer Relationship Management) där du testar din programvara på flera virtuella datorer. Dessa datorer kan behöva tas bort kontinuerligt och återskapas. Att använda ett Azure CLI-skript för att automatisera skapandet av virtuella datorer är mycket mer effektivt och tillförlitligt än att skapa dem manuellt varje gång.
Utöver kärnåtgärden för att skapa en virtuell dator måste skriptet uppfylla några andra krav:
- Skapa flera virtuella datorer: Använd
az vm create
för att skapa flera unikt namngivna virtuella datorer. - Resursgruppsparameter: Tillåt att skriptet accepterar namnet på resursgruppen som en parameter.
I den här lektionen får du lära dig hur du skriver och kör ett Azure CLI-skript i en Bash-miljö som uppfyller dessa krav.
Vad är az Azure CLI Bash-skript?
Ett Azure CLI-skript är en textfil som innehåller kommandon och kontrollkonstruktioner. Skriptet kör referenskommandon och kontrollkonstruktionerna är programmeringsfunktioner som loopar, variabler, parametrar, kommentarer osv. som tillhandahålls av Bash.
Azure CLI Bash-skriptfiler har ett .sh
filnamnstillägg. Du kan skapa och spara dessa filer med valfri textredigerare.
När du har skapat ett skript kan du köra det från kommandoraden genom att skicka namnet på filen. Föregå filnamnet med en punkt för den aktuella katalogen och ett omvänt snedstreck:
.\myScript.sh
Bash-tekniker
Bash innehåller funktioner som ofta finns i programmeringsspråk. För skriptet som du fokuserar på i den här övningen använder du tre viktiga funktioner: variabler, loopar och parametrar.
Variabler
Om du tilldelar ett värde till en variabel i Azure CLI skapas variabeln automatiskt. Till exempel:
location="eastus"
Om du vill fastställa värdet som lagras i en variabel använder du prefixet $
och dess namn:
echo $location
Loopar
Bash har flera loopstrukturer, inklusive until
, while
och for
. Loopen for
är ett bra alternativ för scenarier där du behöver köra en loop över ett angivet antal värden i en samling.
#!/bin/bash
for i in 1 2 3
do
echo "Loop $i times"
done
Parametrar
När du skapar ett Azure CLI-skript kan du lägga till parametrar i skriptet och sedan ange värden för dessa parametrar när du kör skriptet. Till exempel:
.\setupEnvironment.sh parameter1 parameter2 parameter3
I skriptet samlar du in värdena i variabler. I det här exemplet är parametrarna loopCount och name:
#!/bin/bash
loopCount=3
name="msdocs"
for i in $(seq 1 $loopCount)
do
loopName="loop $i for $name"
echo $loopName
done
Utdata ser ut så här:
loop 1 for msdocs
loop 2 for msdocs
loop 3 for msdocs
Du kan använda parametrar som indata och en loop för att skapa en uppsättning virtuella datorer baserat på de angivna parametrarna. Den här metoden håller skriptet allmänt och undviker att upprepa samma kod.
Exempelskript
Här är ett exempelskript som visar hur du använder variabler, loopar och parametrar för att skapa flera virtuella datorer:
#!/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
Köra skriptet
Spara skriptet som msdocs-script.sh
och kör det från en Bash-kommandorad med de parametrar som krävs:
./msdocs-script.sh 3 Debian11 Debian11 Ubuntu2204
Med det här skriptet kan du effektivt skapa flera virtuella datorer i olika resursgrupper, automatisera repetitiva uppgifter och säkerställa konsekvens i din Azure-miljö. I nästa lektion ska vi bygga ut det här skriptet för att inkludera ytterligare parametrar och söka efter lyckat slutförande.