Poznámka
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Tento skript vytvoří úlohu Batch a přidá do ní řadu úkolů. Ukazuje také, jak monitorovat úlohu a její úkoly.
Pokud nemáte účet Azure, vytvořte si bezplatný účet před tím, než začnete.
Požadavky
Použijte prostředí Bash v Azure Cloud Shellu. Další informace najdete v tématu Začínáme s Azure Cloud Shellem.
Pokud dáváte přednost místnímu spouštění referenčních příkazů rozhraní příkazového řádku, nainstalujte Azure CLI. Pokud používáte Windows nebo macOS, zvažte spuštění Azure CLI v kontejneru Docker. Další informace najdete v tématu Jak spustit Azure CLI v kontejneru Dockeru.
Pokud používáte místní instalaci, přihlaste se k Azure CLI pomocí příkazu az login. Pokud chcete dokončit proces ověřování, postupujte podle kroků zobrazených na terminálu. Další možnosti přihlášení najdete v tématu Ověřování v Azure pomocí Azure CLI.
Po zobrazení výzvy nainstalujte rozšíření Azure CLI při prvním použití. Další informace o rozšířeních najdete v tématu Použití a správa rozšíření pomocí Azure CLI.
Spuštěním příkazu az version zjistěte verzi a závislé knihovny, které jsou nainstalované. Pokud chcete upgradovat na nejnovější verzi, spusťte az upgrade.
Ukázkový skript
Spuštění služby Azure Cloud Shell
Azure Cloud Shell je bezplatné interaktivní prostředí, které můžete použít k provedení kroků v tomto článku. Má předinstalované obecné nástroje Azure, které jsou nakonfigurované pro použití s vaším účtem.
Pokud chcete otevřít Cloud Shell, vyberte položku Vyzkoušet v pravém horním rohu bloku kódu. Cloud Shell můžete spustit také na samostatné kartě prohlížeče na adrese https://shell.azure.com.
Po otevření Cloud Shellu ověřte, že je pro vaše prostředí vybraný Bash . Následující relace budou používat Azure CLI v prostředí Bash. Pomocí možnosti Kopírovat zkopírujte bloky kódu, vložte je do Cloud Shellu a stisknutím klávesy Enter spusťte.
Přihlášení k Azure
Cloud Shell je automaticky autentizován při prvotním přihlášení k účtu. Pomocí následujícího skriptu se přihlaste pomocí jiného předplatného a nahraďte id předplatného Azure.
Pokud nemáte účet Azure, vytvořte si bezplatný účet před tím, než začnete.
subscription="subscriptionId" # Set Azure subscription ID here
az account set -s $subscription # ...or use 'az login'
Další informace najdete v tématu Nastavení aktivního předplatného nebo interaktivního přihlášení.
Vytvoření účtu Batch v režimu služby 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'"
Přidání mnoha úkolů najednou
Pokud chcete přidat mnoho úkolů najednou, zadejte úkoly v souboru JSON a předejte ho do příkazu. Formát naleznete v tématu https://github.com/Azure/azure-docs-cli-python-samples/blob/master/batch/run-job/tasks.json. Zadejte absolutní cestu k souboru JSON. Příklad souboru JSON najdete v 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
Aktualizace úlohy
Aktualizujte úlohu tak, aby se po dokončení všech úkolů automaticky označila jako dokončená.
az batch job set \
--job-id myjob \
--on-all-tasks-complete terminatejob
Monitorování stavu úlohy
az batch job show --job-id myjob
Monitorování stavu úkolu
az batch task show \
--job-id myjob \
--task-id task1
Vyčistěte zdroje
Pomocí následujícího příkazu odeberte skupinu prostředků a všechny prostředky přidružené k ní pomocí příkazu az group delete – pokud tyto prostředky nepotřebujete. Vytvoření některých z těchto prostředků a odstranění může chvíli trvat.
az group delete --name $resourceGroup
Referenční ukázka
Tento skript používá následující příkazy. Každý příkaz v tabulce odkazuje na příslušnou část dokumentace.
Příkaz | Poznámky |
---|---|
az group create – vytvořit skupinu | Vytvoří skupinu prostředků, ve které se ukládají všechny prostředky. |
az batch account create | Vytvoří účet Batch. |
az batch account login (přihlášení k dávkovému účtu AZ) | Provede ověření proti zadanému účtu Batch pro další interakci s CLI. |
az batch pool create | Vytvoří fond výpočetních uzlů. |
az batch job create - příkaz pro vytvoření hromadné úlohy | Vytvoří úlohu Batch. |
az batch task create – příkaz pro vytvoření úlohy v batchovém zpracování | Přidá úkol do zadané úlohy Batch. |
az batch job set - příkaz pro nastavení dávkového úkolu | Aktualizuje vlastnosti úlohy Batch. |
az batch job show (zobrazit dávkové úlohy) | Načte podrobnosti o zadané Batch úloze. |
az batch task zobrazit | Načte podrobnosti o úkolu ze zadané úlohy Batch. |
az group delete (smazat skupinu) | Odstraní skupinu zdrojů včetně všech vnořených zdrojů. |
Další kroky
Další informace o Azure CLI najdete v dokumentaci k Azure CLI.