CLI-voorbeeld: een job en taken uitvoeren met Azure Batch
Met dit script maakt u een Batch-job en voegt u een reeks taken toe aan de job. U ziet ook hoe u een job en de taken daarvan kunt bewaken.
Als u geen Azure-abonnement hebt, kunt u een gratis Azure-account maken voordat u begint.
Vereisten
Gebruik de Bash-omgeving in Azure Cloud Shell. Zie quickstart voor Bash in Azure Cloud Shell voor meer informatie.
Installeer de Azure CLI, indien gewenst, om CLI-referentieopdrachten uit te voeren. Als u in Windows of macOS werkt, kunt u Azure CLI uitvoeren in een Docker-container. Zie De Azure CLI uitvoeren in een Docker-container voor meer informatie.
Als u een lokale installatie gebruikt, meldt u zich aan bij Azure CLI met behulp van de opdracht az login. Volg de stappen die worden weergegeven in de terminal, om het verificatieproces te voltooien. Raadpleeg Aanmelden bij Azure CLI voor aanvullende aanmeldingsopties.
Installeer de Azure CLI-extensie bij het eerste gebruik, wanneer u hierom wordt gevraagd. Raadpleeg Extensies gebruiken met Azure CLI voor meer informatie over extensies.
Voer az version uit om de geïnstalleerde versie en afhankelijke bibliotheken te vinden. Voer az upgrade uit om te upgraden naar de nieuwste versie.
Voorbeeldscript
Azure Cloud Shell starten
Azure Cloud Shell is een gratis interactieve shell waarmee u de stappen in dit artikel kunt uitvoeren. In deze shell zijn algemene Azure-hulpprogramma's vooraf geïnstalleerd en geconfigureerd voor gebruik met uw account.
Als u Cloud Shell wilt openen, selecteert u Proberen in de rechterbovenhoek van een codeblok. U kunt Cloud Shell ook openen in een afzonderlijk browsertabblad door naar https://shell.azure.com te gaan.
Wanneer Cloud Shell wordt geopend, controleert u of Bash is geselecteerd voor uw omgeving. Volgende sessies gebruiken Azure CLI in een Bash-omgeving, selecteer Kopiëren om de codeblokken te kopiëren, plak deze in Cloud Shell en druk op Enter om deze uit te voeren.
Aanmelden bij Azure
Cloud Shell wordt automatisch geverifieerd onder het eerste account waarmee is aangemeld. Gebruik het volgende script om u aan te melden met een ander abonnement, waarbij u <Subscription ID>
uw Azure-abonnements-id vervangt. Als u geen Azure-abonnement hebt, kunt u een gratis Azure-account maken voordat u begint.
subscription="<subscriptionId>" # add subscription here
az account set -s $subscription # ...or use 'az login'
Zie Voor meer informatie het instellen van een actief abonnement of het interactief aanmelden
Een Batch-account maken in Batch-servicemodus
# Run a job and tasks with Azure Batch
# Variable block
let "randomIdentifier=$RANDOM*$RANDOM"
location="East US"
[[ "$RESOURCE_GROUP" == '' ]] && resourceGroup="msdocs-batch-rg-$randomIdentifier" || resourceGroup="${RESOURCE_GROUP}"
tag="run-job"
storageAccount="msdocsstorage$randomIdentifier"
batchAccount="msdocsbatch$randomIdentifier"
# Create a resource group.
echo "Creating $resourceGroup in "$location"..."
az group create --name $resourceGroup --location "$location" --tag $tag
# Create a general-purpose storage account in your resource group.
echo "Creating $storageAccount"
az storage account create --resource-group $resourceGroup --name $storageAccount --location "$location" --sku Standard_LRS
# Create a Batch account.
echo "Creating $batchAccount"
az batch account create --name $batchAccount --storage-account $storageAccount --resource-group $resourceGroup --location "$location"
# Authenticate against the account directly for further CLI interaction.
az batch account login --name $batchAccount --resource-group $resourceGroup --shared-key-auth
# Create a new Linux pool with a virtual machine configuration.
az batch pool create --id mypool --vm-size Standard_A1 --target-dedicated 2 --image canonical:ubuntuserver:18_04-lts-gen2 --node-agent-sku-id "batch.node.ubuntu 18.04"
# Create a new job to encapsulate the tasks that are added.
az batch job create --id myjob --pool-id mypool
# Add tasks to the job. Here the task is a basic shell command.
az batch task create --job-id myjob --task-id task1 --command-line "/bin/bash -c 'printenv AZ_BATCH_TASK_WORKING_DIR'"
Veel taken tegelijk toevoegen
Als u veel taken tegelijk wilt toevoegen, geeft u de taken in een JSON-bestand op en geeft u deze door aan de opdracht. Zie voor opmaak https://github.com/Azure/azure-docs-cli-python-samples/blob/master/batch/run-job/tasks.json. Geef het absolute pad naar het JSON-bestand op. Zie voor een voorbeeld van een JSON-bestand https://github.com/Azure-Samples/azure-cli-samples/blob/master/batch/run-job/tasks.json.
az batch task create \
--job-id myjob \
--json-file tasks.json
De taak bijwerken
Werk de taak bij zodat deze automatisch wordt gemarkeerd als voltooid zodra alle taken zijn voltooid.
az batch job set \
--job-id myjob \
--on-all-tasks-complete terminatejob
De status van de taak controleren
az batch job show --job-id myjob
De status van een taak controleren
az batch task show \
--job-id myjob \
--task-id task1
Resources opschonen
Gebruik de volgende opdracht om de resourcegroep en alle bijbehorende resources te verwijderen met behulp van de opdracht az group delete - tenzij u deze resources voortdurend nodig hebt. Het kan even duren voordat sommige van deze resources zijn gemaakt en dat deze kunnen worden verwijderd.
az group delete --name $resourceGroup
Voorbeeldverwijzing
In dit script worden de volgende opdrachten gebruikt. Elke opdracht in de tabel is een koppeling naar opdracht-specifieke documentatie.
Command | Aantekeningen |
---|---|
az group create | Hiermee wordt een resourcegroep gemaakt waarin alle resources worden opgeslagen. |
az batch account create | Hiermee wordt de Batch-account gemaakt. |
az batch account login | Hiermee wordt authenticatie uitgevoerd met het opgegeven Batch-account voor verdere interactie met de CLI. |
az batch pool create | Hiermee wordt een groep rekenknooppunten gemaakt. |
az batch job create | Hiermee wordt een Batch-taak gemaakt. |
az batch task create | Hiermee voegt u een taak toe aan de opgegeven Batch-taak. |
az batch job set | Hiermee worden eigenschappen van een Batch-taak bijgewerkt. |
az batch job show | Hiermee worden details van een opgegeven Batch-taak opgehaald. |
az batch task show | Haalt de details van een taak op uit de opgegeven Batch-job. |
az group delete | Hiermee verwijdert u een resourcegroep met inbegrip van alle ingesloten resources. |
Volgende stappen
Raadpleeg de documentatie van Azure CLI voor meer informatie over de Azure CLI.