Share via


CLI-exempel: Köra ett jobb och uppgifter med Azure Batch

Det här skriptet skapar ett Batch-jobb och lägger till en rad uppgifter i jobbet. Det visar även hur du övervakar ett jobb och dess uppgifter.

Om du inte har en Azure-prenumeration skapar du ett kostnadsfritt Azure-konto innan du börjar.

Förutsättningar

Exempelskript

Starta Azure Cloud Shell

Azure Cloud Shell är ett interaktivt gränssnitt som du kan använda för att utföra stegen i den här artikeln. Den har vanliga Azure-verktyg förinstallerat och har konfigurerats för användning med ditt konto.

Om du vill öppna Cloud Shell väljer du bara Prova från det övre högra hörnet i ett kodblock. Du kan också starta Cloud Shell i en separat webbläsarflik genom att gå till https://shell.azure.com.

När Cloud Shell öppnas kontrollerar du att Bash har valts för din miljö. Efterföljande sessioner använder Azure CLI i en Bash-miljö, Välj Kopiera för att kopiera kodblocken, klistra in dem i Cloud Shell och tryck på Retur för att köra det.

Logga in på Azure

Cloud Shell autentiseras automatiskt under det första kontot som loggas in med. Använd följande skript för att logga in med en annan prenumeration och ersätt <Subscription ID> med ditt Azure-prenumerations-ID. Om du inte har en Azure-prenumeration skapar du ett kostnadsfritt Azure-konto innan du börjar.

subscription="<subscriptionId>" # add subscription here

az account set -s $subscription # ...or use 'az login'

Mer information finns i ange en aktiv prenumeration eller logga in interaktivt

Skapa ett Batch-konto i Batch-tjänstläge

# 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'"

Lägga till många uppgifter samtidigt

Om du vill lägga till många aktiviteter samtidigt anger du aktiviteterna i en JSON-fil och skickar dem till kommandot . Format finns i https://github.com/Azure/azure-docs-cli-python-samples/blob/master/batch/run-job/tasks.json. Ange den absoluta sökvägen till JSON-filen. Ett exempel på en JSON-fil finns i 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

Uppdatera jobbet

Uppdatera jobbet så att det markeras automatiskt som slutfört när alla aktiviteter har slutförts.

az batch job set \
--job-id myjob \
--on-all-tasks-complete terminatejob

Övervaka jobbets status

az batch job show --job-id myjob

Övervaka status för en aktivitet

az batch task show \
    --job-id myjob \
    --task-id task1

Rensa resurser

Använd följande kommando för att ta bort resursgruppen och alla resurser som är associerade med den med kommandot az group delete – såvida du inte har ett pågående behov av dessa resurser. Vissa av dessa resurser kan ta ett tag att skapa och ta bort.

az group delete --name $resourceGroup

Exempelreferens

Det här skriptet använder följande kommandon. Varje kommando i tabellen länkar till kommandospecifik dokumentation.

Command OBS!
az group create Skapar en resursgrupp där alla resurser lagras.
az batch account create Skapar Batch-kontot.
az batch account login Autentiserar mot det angivna Batch-kontot för ytterligare CLI-interaktion.
az batch pool create Skapar en pool med beräkningsnoder.
az batch job create Skapar ett Batch-jobb.
az batch task create Lägger till en aktivitet i angivet Batch-jobb.
az batch job set Uppdaterar egenskaperna för ett Batch-jobb.
az batch job show Hämtar information om ett angivet Batch-jobb.
az batch task show Hämtar information om en uppgift från det angivna Batch-jobbet.
az group delete Tar bort en resursgrupp, inklusive alla kapslade resurser.

Nästa steg

Mer information om Azure CLI finns i Azure CLI-dokumentationen.