Jenis runbook Azure Automation
Fitur Azure Automation Process Automation mendukung beberapa jenis runbook seperti yang didefinisikan dalam tabel berikut. Untuk mempelajari tentang lingkungan Automation proses, lihat Menjalankan eksekusi di Automation Azure.
Tipe | Deskripsi |
---|---|
PowerShell | Runbook tekstual berbasis pembuatan skrip Windows PowerShell. Versi yang saat ini didukung adalah: PowerShell 7.2 (GA) dan PowerShell 5.1 (GA). Karena PowerShell 7.1 tidak lagi didukung oleh produk induk PowerShell, kami sarankan Anda untuk membuat runbook dalam versi powerShell 7.2 yang didukung jangka panjang |
PowerShell Workflow | Runbook tekstual berbasis pembuatan skrip Windows PowerShell Workflow. |
Python | Runbook tekstual berdasarkan pembuatan skrip Python. Versi yang saat ini didukung adalah: Python 3.8 (GA) dan Python 3.10 (pratinjau). Karena Python 2.7 tidak lagi didukung oleh produk induk Python, kami sarankan Anda untuk membuat runbook dalam versi jangka panjang yang didukung. |
Grafis | Runbook grafis berbasis Windows PowerShell dan dibuat serta diedit sepenuhnya di editor grafis di portal Microsoft Azure. |
PowerShell Workflow Grafis | Runbook grafis berdasarkan Windows PowerShell Workflow dan dibuat serta diedit sepenuhnya di editor grafis di portal Microsoft Azure. |
Catatan
Azure Automation akan mengikuti siklus hidup dukungan versi bahasa PowerShell dan Python sesuai dengan garis waktu yang diterbitkan oleh produk induk PowerShell dan Python masing-masing. Kami menyarankan agar Anda menggunakan runbook dengan versi bahasa yang didukung.
Pertimbangkan pertimbangan berikut saat menentukan jenis yang akan digunakan untuk runbook tertentu.
- Anda tidak dapat mengonversi runbook dari jenis grafis ke teks, atau sebaliknya.
- Ada batasan saat menggunakan runbook dari berbagai jenis sebagai runbook turunan. Untuk informasi selengkapnya, lihat Runbook turunan di Azure Automation.
Runbook PowerShell
Runbook PowerShell berbasis Windows PowerShell. Anda dapat mengedit kode runbook secara langsung menggunakan editor teks di portal Microsoft Azure. Anda juga dapat menggunakan editor teks offline apa pun dan mengimpor runbook ke Azure Automation.
Versi PowerShell ditentukan oleh versi Runtime yang ditentukan (yaitu versi 7.2, 7.1 (pratinjau) atau 5.1).
Kotak pasir Azure dan Hybrid Runbook Worker yang sama dapat menjalankan beberapa runbook PowerShell yang menargetkan versi runtime yang berbeda secara berdampingan.
Catatan
- Saat ini, versi runtime PowerShell 7.2 didukung untuk pekerjaan Cloud dan Hybrid di semua wilayah Publik kecuali India Tengah, UAE Tengah, Israel Tengah, Italia Utara, dan Jerman Utara.
- Pada saat eksekusi runbook, jika Anda memilih Versi Runtime sebagai 7.2, modul PowerShell yang menargetkan versi runtime 7.2 digunakan dan jika Anda memilih Versi Runtime sebagai 5.1, modul PowerShell yang menargetkan versi runtime 5.1 digunakan. Ini berlaku untuk modul dan runbook PowerShell 7.1 (pratinjau).
Pastikan Anda memilih Versi Runtime yang tepat untuk modul.
Misalnya: jika Anda menjalankan runbook untuk skenario otomatisasi SharePoint di Runtime versi 7.1 (pratinjau), impor modul di Runtime versi 7.1 (pratinjau); jika Anda menjalankan runbook untuk skenario otomatisasi SharePoint di Runtime versi 5.1, impor modul di Runtime versi 5.1. Dalam hal ini, Anda akan melihat dua entri untuk modul, satu untuk Versi Runtime 7.1(pratinjau) dan lainnya untuk 5.1.
Catatan
Saat ini, PowerShell 5.1, PowerShell 7.1 (pratinjau) dan PowerShell 7.2 didukung.
Kelebihan
- Menerapkan semua logika kompleks dengan kode PowerShell tanpa kompleksitas lain dari PowerShell Workflow.
- Memulai lebih cepat dari runbook PowerShell Workflow karena ini tidak perlu dikompilasi sebelum dijalankan.
- Dijalankan di Azure dan di Hybrid Runbook Worker untuk Windows dan Linux.
Batasan dan Masalah yang diketahui
Berikut ini adalah batasan saat ini dan masalah yang diketahui dengan runbook PowerShell:
Batasan
Catatan
Saat ini, versi runtime PowerShell 7.2 didukung untuk pekerjaan Cloud dan Hybrid di semua wilayah Publik kecuali India Tengah, UAE Tengah, Israel Tengah, Italia Utara, dan Jerman Utara.
- Untuk versi runtime PowerShell 7.2, aktivitas modul tidak diekstrak untuk modul yang diimpor. Gunakan ekstensi Azure Automation untuk kode VS untuk menyederhanakan pengalaman penulisan runbook.
- PowerShell 7.x tidak mendukung alur kerja. Untuk informasi selengkapnya, lihat Alur kerja PowerShell untuk detail selengkapnya.
- PowerShell 7.x saat ini tidak mendukung runbook yang ditandatangani.
- Integrasi kontrol sumber tidak mendukung PowerShell 7.2. Selain itu, runbook PowerShell 7.2 di kontrol sumber dibuat di akun Automation sebagai Runtime 5.1.
- Modul Az 8.3.0 diinstal secara default. Daftar lengkap modul komponen versi modul Az yang dipilih ditampilkan setelah versi Az dikonfigurasi lagi menggunakan portal Azure atau API.
- Modul PowerShell 7.2 yang diimpor akan divalidasi selama eksekusi pekerjaan. Pastikan bahwa semua dependensi untuk modul yang dipilih juga diimpor untuk keberhasilan eksekusi pekerjaan.
- Runbook Azure tidak mendukung
Start-Job
dengan-credential
. - Azure tidak mendukung semua parameter input PowerShell. Pelajari selengkapnya.
Masalah yang diketahui
Runbook yang mengambil dependensi pada jalur file internal seperti
C:\modules
mungkin gagal karena perubahan infrastruktur backend layanan. Ubah kode runbook untuk memastikan tidak ada dependensi pada jalur file internal dan gunakan Get-ChildItem untuk mendapatkan informasi modul yang diperlukan.Get-AzStorageAccount
cmdlet mungkin gagal dengan kesalahan: PerintahGet-AzStorageAccount
ditemukan dalam modulAz.Storage
, tetapi modul tidak dapat dimuat.Menjalankan skrip turunan menggunakan
.\child-runbook.ps1
tidak didukung.
Solusi sementara: GunakanStart-AutomationRunbook
(cmdlet internal) atauStart-AzAutomationRunbook
(dari modul Az.Automation ) untuk memulai runbook lain dari runbook induk.Saat Anda menggunakan versi modul ExchangeOnlineManagement : 3.0.0 atau yang lebih tinggi, Anda dapat mengalami kesalahan. Untuk mengatasi masalah ini, pastikan Anda secara eksplisit mengunggah modul PowerShellGet dan PackageManagement .
Saat Anda menggunakan
New-AzAutomationVariable
cmdlet dalam Modul Az.Automation untuk mengunggah variabel objek jenis, operasi tidak berfungsi seperti yang diharapkan.Solusi sementara: Konversi objek ke string JSON menggunakan cmdlet ConvertTo-Json lalu unggah variabel dengan string JSON sebagai nilainya. Solusi ini memastikan penanganan variabel yang tepat dalam lingkungan Azure Automation sebagai string JSON.
Contoh - Membuat objek PowerShell yang telah menyimpan informasi di sekitar Azure VM
# Retrieve Azure virtual machines with status information for the 'northeurope' region $AzVM = Get-AzVM -Status | Where-Object {$_.Location -eq "northeurope"} $VMstopatch = @($AzVM).Id # Create an Azure Automation variable (This cmdlet will not fail, but the variable may not work as intended when used in the runbook.) New-AzAutomationVariable -ResourceGroupName "mrg" -AutomationAccountName "mAutomationAccount2" -Name "complex1" -Encrypted $false -Value $VMstopatch # Convert the object to a JSON string $jsonString = $VMstopatch | ConvertTo-Json # Create an Azure Automation variable with a JSON string value (works effectively within the automation runbook) New-AzAutomationVariable -ResourceGroupName "mrg" -AutomationAccountName "mAutomationAccount2" -Name "complex1" -Encrypted $false -Value $jsonString
Runbook PowerShell Workflow
Runbook PowerShell Workflow adalah runbook teks berbasis Windows PowerShell Workflow. Anda dapat mengedit kode runbook secara langsung menggunakan editor teks di portal Microsoft Azure. Anda juga dapat menggunakan editor teks offline apa pun dan mengimpor runbook ke Azure Automation.
Catatan
PowerShell 7.1 (pratinjau) dan PowerShell 7.2 tidak mendukung runbook Alur Kerja.
Kelebihan
- Menerapkan semua logika kompleks dengan kode PowerShell Workflow.
- Menggunakan titik pemeriksaan untuk melanjutkan operasi jika ada kesalahan.
- Menggunakan pemrosesan paralel untuk melakukan beberapa tindakan secara paralel.
- Dapat menyertakan runbook grafis dan runbook PowerShell Workflow lainnya sebagai runbook turunan untuk membuat alur kerja tingkat tinggi.
Batasan
- Alur kerja PowerShell tidak didukung di versi PowerShell 7+. Oleh karena itu, runbook yang ketinggalan jaman tidak dapat ditingkatkan.
- Penanganan eksekusi paralel yang tidak efisien dibandingkan dengan versi PowerShell 7+ yang lebih baru.
- Alur Kerja PowerShell bekerja secara internal menggunakan beberapa proses. Oleh karena itu, modul yang tersedia dalam satu proses mungkin tidak tersedia di proses lain dan menyebabkan pengecualian seperti perintah tidak ditemukan.
- Runbook harus menangani kompleksitas tambahan PowerShell Workflow seperti objek yang dideserialisasi.
- Runbook membutuhkan waktu lebih lama untuk memulai dibanding runbook PowerShell karena harus dikompilasi sebelum dijalankan.
- Anda hanya dapat menyertakan runbook PowerShell sebagai runbook turunan menggunakan cmdlet
Start-AzAutomationRunbook
. - Runbook tidak dapat berjalan pada Linux Hybrid Runbook Worker.
Runbook Python
Runbook Python dikompilasi di bawah Python 2.7(GA), Python 3.8 (GA) dan Python 3.10 (pratinjau). Anda dapat langsung mengedit kode runbook menggunakan editor teks di portal Microsoft Azure. Anda juga dapat menggunakan editor teks offline dan mengimpor runbook ke Azure Automation.
Saat ini, versi runtime Python 3.10 (pratinjau) didukung untuk pekerjaan Cloud dan Hybrid di semua wilayah Publik kecuali Australia Tengah2, Korea Selatan, Swedia Selatan, Jio India Tengah, Brasil Tenggara, India Tengah, India Barat, UEA Tengah, dan gov cloud.
Kelebihan
Catatan
Mengimpor paket Python mungkin memakan waktu beberapa menit.
- Menggunakan pustaka Python yang kuat.
- Dapat berjalan di Azure atau di Hybrid Runbook Workers.
- Untuk Python 2.7, Windows Hybrid Runbook Workers didukung dengan python 2.7 terinstal.
- Untuk Pekerjaan Cloud Python 3.8, versi Python 3.8 didukung. Skrip dan paket dari versi 3.x mana pun mungkin berfungsi jika kode kompatibel di berbagai versi.
- Untuk pekerjaan Hibrid Python 3.8 pada komputer Windows, Anda dapat memilih untuk menginstal versi 3.x apa pun yang mungkin ingin Anda gunakan.
- Untuk pekerjaan Python 3.8 Hybrid pada komputer Linux, kami bergantung pada versi Python 3 yang diinstal pada komputer untuk menjalankan DSC OMSConfig dan Linux Hybrid Worker. Versi yang berbeda harus berfungsi jika tidak ada perubahan yang melanggar dalam tanda tangan metode atau kontrak antara versi Python 3.
Batasan
Berikut adalah batasan runbook Python
- Untuk modul Python 3.10 (pratinjau), saat ini, hanya file roda yang menargetkan OS Linux cp310 yang didukung. Pelajari lebih lanjut
- Integrasi kontrol sumber tidak didukung.
- Paket kustom untuk Python 3.10 (pratinjau) hanya divalidasi selama runtime kerja. Pekerjaan diharapkan gagal jika paket tidak kompatibel dalam runtime atau jika dependensi paket yang diperlukan tidak diimpor ke akun otomatisasi.
- Saat ini, runbook Python 3.10 (pratinjau) hanya didukung dari portal Azure. Rest API dan PowerShell tidak didukung.
Beberapa versi Python
Ini berlaku untuk pekerja Windows Hybrid. Untuk Windows Runbook Worker, saat menjalankan runbook Python 2, ia mencari variabel PYTHON_2_PATH
lingkungan terlebih dahulu dan memvalidasi apakah itu menunjuk ke file yang dapat dieksekusi yang valid. Misalnya, jika folder instalasi adalah C:\Python2
, itu akan memeriksa apakah C:\Python2\python.exe
merupakan jalur yang valid. Jika tidak ditemukan, maka ia mencari variabel lingkungan PATH
untuk melakukan pemeriksaan serupa.
Untuk Python 3, ia mencari variabel PYTHON_3_PATH
env terlebih dahulu dan kemudian jatuh kembali ke variabel lingkungan PATH
.
Saat hanya menggunakan satu versi Python, Anda dapat menambahkan jalur instalasi ke variabel PATH
. Jika Anda ingin menggunakan kedua versi pada Runbook Worker, atur PYTHON_2_PATH
dan PYTHON_3_PATH
ke lokasi modul untuk versi tersebut.
Masalah umum
Untuk pekerjaan cloud, pekerjaan Python 3.8 terkadang gagal dengan pesan invalid interpreter executable path
pengecualian . Anda mungkin melihat pengecualian ini jika pekerjaan tertunda, mulai lebih dari 10 menit, atau menggunakan Start-AutomationRunbook untuk memulai runbook Python 3.8. Jika pekerjaan tertunda, Anda hanya perlu memulai ulang runbook.
Runbook grafis
Anda dapat membuat dan mengedit runbook grafis dan runbook PowerShell Workflow grafis menggunakan editor grafis di portal Microsoft Azure. Namun, Anda tidak dapat membuat atau mengedit jenis runbook ini dengan alat lain. Fitur utama runbook grafis:
- Diekspor ke file di akun Automation Anda lalu diimpor ke akun Automation lain.
- Menghasilkan kode PowerShell.
- Dikonversi ke atau dari runbook PowerShell Workflow grafis selama impor.
Kelebihan
- Menggunakan model penulisan visual insert-link-configure.
- Fokus pada cara data mengalir melalui proses.
- Merepresentasikan proses manajemen secara visual.
- Menyertakan runbook lain sebagai runbook turunan untuk membuat alur kerja tingkat tinggi.
- Mendorong pemrograman modular.
Batasan
- Tidak dapat membuat atau mengedit di luar portal Microsoft Azure.
- Mungkin memerlukan aktivitas kode yang berisi kode PowerShell untuk menjalankan logika kompleks.
- Tidak dapat mengonversi ke salah satu format teks maupun mengonversi runbook teks ke format grafis.
- Tidak dapat menampilkan atau mengedit kode PowerShell secara langsung yang dibuat alur kerja grafis. Anda dapat melihat kode yang Anda buat dalam aktivitas kode apa pun.
- Tidak berfungsi dengan runbook di Linux Hybrid Runbook Worker. Lihat Mengotomatiskan sumber daya di pusat data atau cloud Anda menggunakan Hybrid Runbook Worker.
- Runbook grafis tidak dapat ditandatangani secara digital.
Langkah berikutnya
- Untuk mempelajari tentang runbook PowerShell Workflow, lihat Tutorial: Membuat runbook PowerShell Workflow.
- Untuk mempelajari tentang runbook PowerShell Workflow, lihat Tutorial: Membuat runbook PowerShell Workflow.
- Untuk mempelajari tentang runbook grafis, lihat Tutorial: Membuat runbook grafis.
- Untuk mempelajari tentang runbook Python, lihat Tutorial: Membuat runbook Python.