Contoh CLI: Menjalankan pekerjaan dan tugas dengan Azure Batch
Skrip ini membuat pekerjaan Batch dan menambahkan serangkaian tugas ke pekerjaan. Ini juga menunjukkan cara memantau pekerjaan dan tugasnya.
Jika Anda tidak memiliki Langganan Azure, buat Akun gratis Azure sebelum memulai.
Prasyarat
Gunakan lingkungan Bash di Azure Cloud Shell. Untuk informasi selengkapnya, lihat Mulai Cepat untuk Bash di Azure Cloud Shell.
Jika Anda lebih suka menjalankan perintah referensi CLI secara lokal, instal Azure CLI. Jika Anda menjalankan Windows atau macOS, pertimbangkan untuk menjalankan Azure CLI dalam kontainer Docker. Untuk informasi lebih lanjut, lihat Cara menjalankan Azure CLI di kontainer Docker.
Jika Anda menggunakan instalasi lokal, masuk ke Azure CLI dengan menggunakan perintah login az. Untuk menyelesaikan proses autentikasi, ikuti langkah-langkah yang ditampilkan di terminal Anda. Untuk opsi masuk lainnya, lihat Masuk dengan Azure CLI.
Saat Anda diminta, instal ekstensi Azure CLI pada penggunaan pertama. Untuk informasi selengkapnya tentang ekstensi, lihat Menggunakan ekstensi dengan Azure CLI.
Jalankan versi az untuk menemukan versi dan pustaka dependen yang diinstal. Untuk meningkatkan ke versi terbaru, jalankan peningkatan az.
Sampel skrip
Meluncurkan Azure Cloud Shell
Azure Cloud Shell adalah shell interaktif gratis yang dapat Anda gunakan untuk menjalankan langkah-langkah dalam artikel ini. Shell ini memiliki alat Azure umum yang telah dipasang sebelumnya dan dikonfigurasi untuk digunakan dengan akun Anda.
Untuk membuka Cloud Shell, cukup pilih Cobalah dari sudut kanan atas blok kode. Anda juga dapat meluncurkan Cloud Shell di tab browser terpisah dengan membuka https://shell.azure.com.
Saat Cloud Shell terbuka, verifikasi bahwa Bash dipilih untuk lingkungan Anda. Sesi berikutnya akan menggunakan Azure CLI dalam lingkungan Bash, Pilih Salin untuk menyalin blok kode, tempelkan ke Cloud Shell, lalu tekan Enter untuk menjalankannya.
Masuk ke Azure
Cloud Shell diautentikasi secara otomatis dengan akun awal yang digunakan untuk masuk. Gunakan skrip berikut untuk masuk menggunakan langganan lain, mengganti subscriptionId dengan ID langganan Azure Anda.
Jika Anda tidak memiliki Langganan Azure, buat Akun gratis Azure sebelum memulai.
subscription="subscriptionId" # Set Azure subscription ID here
az account set -s $subscription # ...or use 'az login'
Untuk informasi selengkapnya, lihat mengatur langganan aktif atau masuk secara interaktif.
Buat akun Batch di mode layanan 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'"
Untuk menambahkan banyak tugas sekaligus
Untuk menambahkan banyak tugas sekaligus, tentukan tugas dalam file JSON, dan teruskan ke perintah. Untuk format, lihat https://github.com/Azure/azure-docs-cli-python-samples/blob/master/batch/run-job/tasks.json. Sediakan jalur absolut ke file JSON. Untuk contoh file JSON, lihat 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
Untuk memperbarui pekerjaan
Perbarui pekerjaan sehingga secara otomatis ditandai sebagai selesai setelah semua tugas selesai.
az batch job set \
--job-id myjob \
--on-all-tasks-complete terminatejob
Untuk memantau status pekerjaan
az batch job show --job-id myjob
Untuk memantau status tugas
az batch task show \
--job-id myjob \
--task-id task1
Membersihkan sumber daya
Gunakan perintah berikut untuk menghapus grup sumber daya dan semua sumber daya yang terkait dengannya menggunakan perintah az group delete - kecuali Anda masih memiliki kebutuhan untuk sumber daya ini. Beberapa sumber daya ini mungkin membutuhkan beberapa waktu untuk dibuat dan dihapus.
az group delete --name $resourceGroup
Referensi sampel
Skrip ini menggunakan perintah berikut. Setiap perintah dalam tabel ditautkan ke dokumentasi spesifik-perintah.
Perintah | Catatan |
---|---|
az group create | Membuat grup sumber daya tempat semua sumber daya disimpan. |
pembuatan akun az batch | Membuat akun Batch. |
login akun az batch | Mengautentikasi pada akun Batch yang ditentukan untuk interaksi CLI lebih lanjut. |
az batch pool create | Membuat sebuah kumpulan node komputasi. |
buat pekerjaan batch az | Membuat sebuah pekerjaan Batch. |
buat tugas az batch | Menambahkan sebuah tugas ke pekerjaans Batch yang ditentukan. |
set pekerjaan az batch | Memperbarui properti dari sebuah pekerjaan Batch. |
tampilkan pekerjaan az batch | Mengambil rincian pekerjaan Batch yang ditentukan. |
tampilkan tugas az batch | Mengambil rincian tugas dari pekerjaan Batch yang ditentukan. |
hapus grup az | Menghapus grup sumber daya termasuk semua sumber daya berlapis. |
Langkah berikutnya
Untuk informasi selengkapnya tentang antarmuka tingkat panggilan Azure, lihat Dokumentasi antarmuka tingkat panggilan Azure.