Udostępnij za pomocą


Przykład CLI: Uruchom zadanie i zadania za pomocą usługi Azure Batch

Ten skrypt tworzy zadanie w Batch i dodaje do zadania serię zadań. Pokazuje również, jak monitorować zadanie i jego podzadania.

Jeśli nie masz jeszcze konta platformy Azure, przed rozpoczęciem utwórz bezpłatne konto.

Wymagania wstępne

Przykładowy skrypt

Uruchamianie usługi Azure Cloud Shell

Usługa Azure Cloud Shell to bezpłatna interaktywna powłoka, której możesz używać do wykonywania kroków opisanych w tym artykule. Ma zainstalowane i skonfigurowane popularne narzędzia Azure do użycia z Twoim kontem.

Aby otworzyć Cloud Shell, należy po prostu wybrać Try it w prawym górnym rogu bloku kodu. Możesz również uruchomić Cloud Shell w osobnej karcie przeglądarki, odwiedzając https://shell.azure.com.

Gdy Cloud Shell się otworzy, sprawdź, czy dla twojego środowiska jest wybrane Bash. Kolejne sesje będą używać Azure CLI w środowisku Bash. Wybierz opcję Kopiuj, aby skopiować bloki kodu, wklej je do Cloud Shell i naciśnij Enter, aby je uruchomić.

Zaloguj się do Azure

Cloud Shell jest automatycznie uwierzytelniane na podstawie początkowego konta, na które się zalogowano. Użyj następującego skryptu, aby zalogować się przy użyciu innej subskrypcji, zastępując subscriptionId swoim identyfikatorem subskrypcji Azure.

Jeśli nie masz jeszcze konta platformy Azure, przed rozpoczęciem utwórz bezpłatne konto.

subscription="subscriptionId" # Set Azure subscription ID here

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

Aby uzyskać więcej informacji, zobacz ustawianie aktywnej subskrypcji lub logowanie interakcyjne.

Utwórz konto Batch w trybie usługi Batch

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

Aby dodać wiele zadań jednocześnie

Aby dodać wiele zadań jednocześnie, określ zadania w pliku JSON i przekaż je do polecenia . Aby uzyskać format, zobacz https://github.com/Azure/azure-docs-cli-python-samples/blob/master/batch/run-job/tasks.json. Podaj ścieżkę bezwzględną do pliku JSON. Aby uzyskać przykładowy plik JSON, zobacz 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

Aby zaktualizować zadanie

Zaktualizuj zadanie, aby było automatycznie oznaczane jako ukończone po zakończeniu wszystkich zadań.

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

Aby monitorować status zadania

az batch job show --job-id myjob

Aby monitorować status zadania

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

Wyczyść zasoby

Użyj poniższego polecenia, aby usunąć grupę zasobów oraz wszystkie z nią związane zasoby, korzystając z polecenia az group delete - chyba że potrzebujesz tych zasobów na bieżąco. Niektóre z tych zasobów mogą wymagać trochę czasu na stworzenie, a także usunięcie.

az group delete --name $resourceGroup

Przykładowe odniesienie

Ten skrypt używa następujących poleceń. Każde polecenie w tabeli prowadzi do dokumentacji specyficznej dla danego polecenia.

Komenda Notatki
Polecenie az group create służy do utworzenia grupy w Azure. Tworzy grupę zasobów, w której przechowywane są wszystkie zasoby.
az batch account create - Komenda do stworzenia konta w usłudze batch. Tworzy konto Batch.
az batch account zaloguj Uwierzytelnia się wobec określonego konta Batch w celu dalszej interakcji z CLI.
Polecenie az batch pool create tworzy pulę w usłudze Azure Batch. Tworzy pulę węzłów obliczeniowych.
az batch job create - tworzenie zadania wsadowego Tworzy zadanie wsadowe.
az batch zadanie utworzenie Dodaje zadanie do określonego zadania Batch.
az batch job set (ustawienie zadania wsadowego az) Aktualizuje właściwości zadania według partii.
az batch job show Pobiera szczegóły określonej pracy wsadowej.
az batch task show - wyświetla szczegóły zadania w Azure Batch Pobiera szczegóły zadania z określonej pracy Batch.
usuń grupę az Usuwa grupę zasobów, łącznie ze wszystkimi zagnieżdżonymi zasobami.

Kolejne kroki

Aby uzyskać więcej informacji na temat Azure CLI, zapoznaj się z dokumentacją Azure CLI.