Aracılığıyla paylaş


CLI örneği: Azure Batch ile iş ve görevler çalıştırma

Bu script, bir Batch işi oluşturur ve işin içine bir dizi görev ekler. Ayrıca bir işi ve onun görevlerini nasıl izleyeceğinizi gösterir.

Azure hesabınız yoksa, başlamadan önce ücretsiz hesap oluşturun.

Önkoşullar

  • Azure Cloud Shell'de Bash ortamını kullanın. Daha fazla bilgi için bkz . Azure Cloud Shell'i kullanmaya başlama.

  • CLI referans komutlarını yerel olarak çalıştırmayı tercih ediyorsanız, Azure CLI'yi yükleyin. Windows veya macOS kullanıyorsanız, Azure CLI'yi bir Docker konteynerı içinde çalıştırmayı düşünün. Daha fazla bilgi için, Azure CLI'yi Docker konteynerinde çalıştırma konusuna bakın.

    • Yerel bir kurulum kullanıyorsanız, az login komutunu kullanarak Azure CLI'ye giriş yapın. Kimlik doğrulama sürecini tamamlamak için terminalinizde görüntülenen adımları izleyin. Diğer oturum açma seçenekleri için bkz. Azure CLI kullanarak Azure'da kimlik doğrulaması.

    • İlk kullanımda istendiğinde Azure CLI uzantısını yükleyin. Uzantılar hakkında daha fazla bilgi için bkz . Azure CLI ile uzantıları kullanma ve yönetme.

    • Yüklü olan sürümü ve bağımlı kütüphaneleri bulmak için az version komutunu çalıştırın. En son sürüme yükseltmek için az upgrade komutunu çalıştırın.

Örnek senaryo

Azure Cloud Shell'i başlatma

Azure Cloud Shell, bu makaledeki adımları çalıştırmak için kullanabileceğiniz ücretsiz bir etkileşimli shell'dir. Sık kullanılan Azure araçları önceden yüklenmiş ve hesabınızla kullanılacak şekilde yapılandırılmıştır.

Cloud Shell'i açmak için, bir kod bloğunun sağ üst köşesinden Deneyin seçeneğini belirleyin. Cloud Shell'i ayrı bir tarayıcı sekmesinde başlatmak için https://shell.azure.com adresine gidebilirsiniz.

Cloud Shell açıldığında ortamınız için Bash'in seçili olduğunu doğrulayın. Gelecek oturumlar, Azure CLI'yi bir Bash ortamında kullanacaktır. Kod bloklarını kopyalamak için Kopyala seçeneğine tıklayın, Cloud Shell'e yapıştırın ve çalıştırmak için Enter tuşuna basın.

Azure'a Giriş Yap

Cloud Shell, ilk oturum açılan hesap üzerinden otomatik olarak kimlik doğrulaması yapar. Farklı bir abonelik kullanarak oturum açmak için aşağıdaki betiği kullanın ve subscriptionId kısmını Azure abonelik kimliğinizle değiştirin.

Azure hesabınız yoksa, başlamadan önce ücretsiz hesap oluşturun.

subscription="subscriptionId" # Set Azure subscription ID here

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

Daha fazla bilgi için etkin aboneliği ayarla veya etkileşimli giriş yap'a bakın.

Toplu işlem hizmet modunda bir toplu işlem hesabı oluşturun

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

Aynı anda birçok görev eklemek için

Aynı anda birçok görev eklemek için, görevleri bir JSON dosyasında belirtin ve komutuna geçirin. Format için, https://github.com/Azure/azure-docs-cli-python-samples/blob/master/batch/run-job/tasks.json görün. JSON dosyasına mutlak yolu sağlayın. Örnek bir JSON dosyası için bkz 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

İşi güncellemek için

Tüm görevler tamamlandıktan sonra işi otomatik olarak tamamlandı olarak işaretlenecek şekilde güncelleştirin.

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

İşin durumunu izlemek

az batch job show --job-id myjob

Görevin durumunu izlemek için

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

Kaynakları temizle

Aşağıdaki komutu kullanarak, bu kaynaklara devam eden bir ihtiyacınız olmadığı sürece az group delete komutunu kullanarak kaynak grubunu ve ona bağlı tüm kaynakları kaldırın. Bu kaynaklardan bazıları oluşturmak ve silmek için biraz zaman alabilir.

az group delete --name $resourceGroup

Örnek referans

Bu komut dosyası, aşağıdaki komutları kullanır. Tablodaki her bir komut, komuta özgü belgelere bağlantılar sunar.

Komut Notlar
az group create komutu bir grup oluşturmak için kullanılır. Tüm kaynakların depolandığı bir kaynak grubu oluşturur.
az batch account create komutunu kullanın Batch hesabını oluşturur.
az batch account login (Azure Batch hesabına giriş komutu) Daha fazla CLI etkileşimi için belirtilen Batch hesabına karşı kimlik doğrulaması yapar.
az batch pool create komutu, bir toplu iş grubu oluşturur. İşlem düğümleri havuzu oluşturur.
az batch job create komutunu kullanarak bir toplu iş oluşturun. Toplu iş oluşturur.
az batch görevi oluştur Belirtilen Batch işine bir görev ekler.
az toplu iş ayarla Bir Yığın işinin özelliklerini günceller.
az toplu iş göster Belirtilen Batch işinin detaylarını alır.
az batch görevi göster Belirtilen Batch işinden görevin ayrıntılarını alır.
az grubunu sil Tüm iç içe geçmiş kaynaklar dahil olmak üzere bir kaynak grubunu siler.

Sonraki Adımlar

Azure CLI hakkında daha fazla bilgi için Azure CLI belgelerine bakın.