Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Dengan cmdlet Azure Batch PowerShell, Anda dapat melakukan dan membuat skrip banyak tugas Batch umum. Ini adalah pengantar cepat untuk cmdlet yang dapat Anda gunakan untuk mengelola akun Batch Anda dan bekerja dengan sumber daya Batch Anda seperti kumpulan, pekerjaan, dan tugas.
Untuk daftar lengkap cmdlet Batch dan sintaks cmdlet terperinci, lihat referensi cmdlet Azure Batch.
Kami menyarankan agar Anda sering memperbarui modul Azure PowerShell untuk memanfaatkan pembaruan dan penyempurnaan layanan.
Prasyarat
Instal dan konfigurasikan modul Azure PowerShell. Untuk menginstal modul Azure Batch tertentu, seperti modul pra-rilis, lihat Galeri PowerShell.
Jalankan cmdlet Connect-AzAccount untuk menyambungkan ke langganan Anda (cmdlet Azure Batch dikirim dalam modul Azure Resource Manager):
Connect-AzAccountDaftar dengan namespace penyedia Batch. Anda hanya perlu melakukan operasi ini sekali per langganan.
Register-AzResourceProvider -ProviderNamespace Microsoft.Batch
Mengelola akun dan kunci Batch
Membuat akun Batch
New-AzBatchAccount membuat akun Batch dalam grup sumber daya tertentu. Jika Anda belum memiliki grup sumber daya, buat dengan menjalankan cmdlet New-AzResourceGroup . Tentukan salah satu wilayah Azure di parameter Lokasi , seperti "US Tengah". Contohnya:
New-AzResourceGroup –Name MyBatchResourceGroup –Location "Central US"
Kemudian, buat akun Batch di grup sumber daya. Tentukan nama untuk akun di <account_name>, serta lokasi dan nama grup sumber daya Anda. Membuat akun Batch dapat memakan waktu untuk menyelesaikannya. Contohnya:
New-AzBatchAccount –AccountName <account_name> –Location "Central US" –ResourceGroupName <res_group_name>
Nota
Nama akun Batch harus unik untuk wilayah Azure untuk grup sumber daya, berisi antara 3 dan 24 karakter, dan hanya menggunakan huruf kecil dan angka.
Mendapatkan kunci akses akun
Get-AzBatchAccountKeys menunjukkan kunci akses yang terkait dengan akun Azure Batch. Misalnya, jalankan yang berikut ini untuk mendapatkan kunci utama dan sekunder dari akun yang Anda buat.
$Account = Get-AzBatchAccountKeys –AccountName <account_name>
$Account.PrimaryAccountKey
$Account.SecondaryAccountKey
Membuat kunci akses baru
New-AzBatchAccountKey menghasilkan kunci akun primer atau sekunder baru untuk akun Azure Batch. Misalnya, untuk menghasilkan kunci primer baru untuk akun Batch Anda, ketik:
New-AzBatchAccountKey -AccountName <account_name> -KeyType Primary
Nota
Untuk menghasilkan kunci sekunder baru, tentukan "Sekunder" untuk parameter KeyType . Anda harus meregenerasi kunci primer dan sekunder secara terpisah.
Menghapus akun Batch
Remove-AzBatchAccount menghapus akun Batch. Contohnya:
Remove-AzBatchAccount -AccountName <account_name>
Saat diminta, konfirmasikan bahwa Anda ingin menghapus akun. Penghapusan akun dapat memakan waktu untuk menyelesaikannya.
Membuat objek BatchAccountContext
Anda dapat mengautentikasi untuk mengelola sumber daya Batch menggunakan autentikasi kunci bersama atau autentikasi Microsoft Entra. Untuk mengautentikasi menggunakan cmdlet Batch PowerShell, pertama-tama buat objek BatchAccountContext untuk menyimpan kredensial atau identitas akun Anda. Anda meneruskan objek BatchAccountContext ke cmdlet yang menggunakan parameter BatchContext .
Autentikasi kunci bersama
$context = Get-AzBatchAccountKeys -AccountName <account_name>
Nota
Secara default, kunci utama akun digunakan untuk autentikasi, tetapi Anda dapat secara eksplisit memilih kunci yang akan digunakan dengan mengubah properti KeyInUse objek BatchAccountContext Anda: $context.KeyInUse = "Secondary".
Autentikasi Microsoft Entra
$context = Get-AzBatchAccount -AccountName <account_name>
Membuat dan memodifikasi sumber daya Batch
Gunakan cmdlet seperti New-AzBatchPool, New-AzBatchJob, dan New-AzBatchTask untuk membuat sumber daya di bawah akun Batch. Ada cmdlet Get- dan Set- yang sesuai untuk memperbarui properti sumber daya yang ada, dan cmdlet Remove- untuk menghapus sumber daya di bawah akun Batch.
Saat menggunakan banyak cmdlet ini, selain meneruskan objek BatchContext, Anda perlu membuat atau meneruskan objek yang berisi pengaturan sumber daya terperinci, seperti yang ditunjukkan dalam contoh berikut. Lihat bantuan terperinci untuk setiap cmdlet untuk contoh tambahan.
Membuat kumpulan Batch
Saat membuat atau memperbarui kumpulan Batch, Anda menentukan konfigurasi. Kumpulan umumnya harus dikonfigurasi dengan Konfigurasi Komputer Virtual, yang memungkinkan Anda menentukan salah satu gambar VM Linux atau Windows yang didukung yang tercantum di Azure Virtual Machines Marketplace, atau memberikan gambar kustom yang telah Anda siapkan. Kumpulan Konfigurasi Cloud Services hanya menyediakan simpul komputasi Windows dan tidak mendukung semua fitur Batch.
Saat Anda menjalankan New-AzBatchPool, lewati pengaturan sistem operasi di objek PSVirtualMachineConfiguration atau PSCloudServiceConfiguration. Misalnya, cuplikan berikut membuat kumpulan Batch dengan ukuran Standard_A1 node komputasi dalam konfigurasi mesin virtual, dicitrakan dengan Ubuntu Server 20.04-LTS. Di sini, parameter VirtualMachineConfiguration menentukan variabel $configuration sebagai objek PSVirtualMachineConfiguration. Parameter BatchContext menentukan variabel yang ditentukan sebelumnya $context sebagai objek BatchAccountContext.
$imageRef = New-Object -TypeName "Microsoft.Azure.Commands.Batch.Models.PSImageReference" -ArgumentList @("UbuntuServer","Canonical","20.04-LTS")
$configuration = New-Object -TypeName "Microsoft.Azure.Commands.Batch.Models.PSVirtualMachineConfiguration" -ArgumentList @($imageRef, "batch.node.ubuntu 20.04")
New-AzBatchPool -Id "mypspool" -VirtualMachineSize "Standard_a1" -VirtualMachineConfiguration $configuration -AutoScaleFormula '$TargetDedicated=4;' -BatchContext $context
Jumlah target simpul komputasi di kumpulan baru dihitung dengan rumus penskalaan otomatis. Dalam hal ini, rumusnya hanya $TargetDedicated=4, menunjukkan jumlah simpul komputasi di kumpulan adalah 4 paling banyak.
Pencarian untuk kumpulan, pekerjaan, tugas, dan detail lainnya
Gunakan cmdlet seperti Get-AzBatchPool, Get-AzBatchJob, dan Get-AzBatchTask untuk mengkueri entitas yang dibuat di bawah akun Batch.
Kueri untuk data
Sebagai contoh, gunakan Get-AzBatchPools untuk menemukan pool Anda. Secara default kueri ini untuk semua kumpulan di bawah akun Anda, dengan asumsi Anda sudah menyimpan objek BatchAccountContext di $context:
Get-AzBatchPool -BatchContext $context
Menggunakan filter OData
Anda dapat menyediakan filter OData menggunakan parameter Filter untuk menemukan hanya objek yang Anda minati. Misalnya, Anda dapat menemukan semua kumpulan dengan ID yang dimulai dengan "myPool":
$filter = "startswith(id,'myPool')"
Get-AzBatchPool -Filter $filter -BatchContext $context
Metode ini tidak fleksibel seperti menggunakan "Where-Object" dalam alur lokal. Namun, kueri akan dikirim ke layanan Batch secara langsung sehingga semua pemfilteran terjadi di sisi server, menghemat bandwidth Internet.
Gunakan parameter Id
Alternatif untuk filter OData adalah menggunakan parameter Id . Untuk mengkueri kumpulan tertentu dengan id "myPool":
Get-AzBatchPool -Id "myPool" -BatchContext $context
Parameter Id hanya mendukung pencarian ID penuh; tidak mendukung menggunakan pola pencarian bebas atau filter model OData.
Gunakan parameter MaxCount
Secara default, setiap cmdlet mengembalikan maksimum 1000 objek. Jika Anda mencapai batas ini, perbaiki filter Anda untuk mengembalikan lebih sedikit objek, atau secara eksplisit mengatur maksimum menggunakan parameter MaxCount . Contohnya:
Get-AzBatchTask -MaxCount 2500 -BatchContext $context
Untuk menghapus batas atas, atur MaxCount ke 0 atau kurang.
Menggunakan alur PowerShell
Cmdlet batch menggunakan alur PowerShell untuk mengirim data antar cmdlet. Ini memiliki efek yang sama dengan menentukan parameter, tetapi membuat bekerja dengan beberapa entitas lebih mudah.
Misalnya, temukan dan tampilkan semua tugas di bawah akun Anda:
Get-AzBatchJob -BatchContext $context | Get-AzBatchTask -BatchContext $context
Mulai ulang (reboot) setiap simpul komputasi dalam kumpulan:
Get-AzBatchComputeNode -PoolId "myPool" -BatchContext $context | Restart-AzBatchComputeNode -BatchContext $context
Manajemen paket aplikasi
Paket aplikasi menyediakan cara yang disederhanakan untuk menyebarkan aplikasi ke simpul komputasi di kumpulan Anda. Dengan cmdlet Batch PowerShell, Anda dapat mengunggah dan mengelola paket aplikasi di akun Batch Anda, dan menyebarkan versi paket ke simpul komputasi.
Penting
Anda harus menautkan akun Azure Storage ke akun Batch Anda untuk menggunakan paket aplikasi.
Buat aplikasi:
New-AzBatchApplication -AccountName <account_name> -ResourceGroupName <res_group_name> -ApplicationId "MyBatchApplication"
Tambahkan paket aplikasi:
New-AzBatchApplicationPackage -AccountName <account_name> -ResourceGroupName <res_group_name> -ApplicationId "MyBatchApplication" -ApplicationVersion "1.0" -Format zip -FilePath package001.zip
Atur versi default untuk aplikasi:
Set-AzBatchApplication -AccountName <account_name> -ResourceGroupName <res_group_name> -ApplicationId "MyBatchApplication" -DefaultVersion "1.0"
Mencantumkan paket aplikasi
$application = Get-AzBatchApplication -AccountName <account_name> -ResourceGroupName <res_group_name> -ApplicationId "MyBatchApplication"
$application.ApplicationPackages
Menghapus paket aplikasi
Remove-AzBatchApplicationPackage -AccountName <account_name> -ResourceGroupName <res_group_name> -ApplicationId "MyBatchApplication" -ApplicationVersion "1.0"
Menghapus aplikasi
Remove-AzBatchApplication -AccountName <account_name> -ResourceGroupName <res_group_name> -ApplicationId "MyBatchApplication"
Nota
Anda harus menghapus semua versi paket aplikasi sebelum menghapus aplikasi. Anda akan menerima kesalahan 'Konflik' jika Anda mencoba menghapus aplikasi yang saat ini memiliki paket aplikasi.
Menyebarkan paket aplikasi
Anda dapat menentukan satu atau beberapa paket aplikasi untuk penyebaran saat membuat kumpulan. Saat Anda menentukan paket pada waktu pembuatan kumpulan, paket disebarkan ke setiap simpul saat simpul bergabung dengan kumpulan. Paket juga disebarkan ketika node di-boot ulang atau digambar ulang.
Tentukan opsi -ApplicationPackageReference saat membuat kumpulan untuk menyebarkan paket aplikasi ke node kumpulan ketika mereka bergabung dengan kumpulan. Pertama, buat objek PSApplicationPackageReference , dan konfigurasikan dengan ID aplikasi dan versi paket yang ingin Anda sebarkan ke simpul komputasi kumpulan:
$appPackageReference = New-Object Microsoft.Azure.Commands.Batch.Models.PSApplicationPackageReference
$appPackageReference.ApplicationId = "MyBatchApplication"
$appPackageReference.Version = "1.0"
Sekarang buat kumpulan, dan tentukan objek referensi paket sebagai argumen ke opsi ApplicationPackageReferences:
New-AzBatchPool -Id "PoolWithAppPackage" -VirtualMachineSize "Small" -VirtualMachineConfiguration $configuration -BatchContext $context -ApplicationPackageReferences $appPackageReference
Anda dapat menemukan informasi selengkapnya tentang paket aplikasi di Menyebarkan aplikasi ke simpul komputasi dengan paket aplikasi Batch.
Memperbarui paket aplikasi kumpulan
Untuk memperbarui aplikasi yang ditetapkan ke kumpulan yang ada, pertama-tama buat objek PSApplicationPackageReference dengan properti yang diinginkan (ID aplikasi dan versi paket):
$appPackageReference = New-Object Microsoft.Azure.Commands.Batch.Models.PSApplicationPackageReference
$appPackageReference.ApplicationId = "MyBatchApplication"
$appPackageReference.Version = "2.0"
Selanjutnya, dapatkan kumpulan dari Batch, hapus paket yang ada, tambahkan referensi paket baru, dan perbarui layanan Batch dengan pengaturan kumpulan baru:
$pool = Get-AzBatchPool -BatchContext $context -Id "PoolWithAppPackage"
$pool.ApplicationPackageReferences.Clear()
$pool.ApplicationPackageReferences.Add($appPackageReference)
Set-AzBatchPool -BatchContext $context -Pool $pool
Anda kini telah memperbarui properti kumpulan di layanan Batch. Untuk benar-benar menyebarkan paket aplikasi baru ke simpul komputasi di kumpulan, Anda perlu menghidupkan ulang atau mencitrakan ulang simpul tersebut. Anda dapat memulai ulang setiap simpul dalam kumpulan dengan perintah ini:
Get-AzBatchComputeNode -PoolId "PoolWithAppPackage" -BatchContext $context | Restart-AzBatchComputeNode -BatchContext $context
Petunjuk / Saran
Anda dapat menyebarkan beberapa paket aplikasi ke simpul komputasi dalam kumpulan. Jika Anda ingin menambahkan paket aplikasi alih-alih mengganti paket yang saat ini disebarkan, hilangkan baris di $pool.ApplicationPackageReferences.Clear() atas.
Langkah berikutnya
- Tinjau referensi cmdlet Azure Batch untuk mendapatkan sintaks cmdlet dan contoh yang terperinci.
- Pelajari cara menyebarkan aplikasi ke simpul komputasi dengan paket aplikasi Batch.