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.
Jenis | Deskripsi |
---|---|
PowerShell | Runbook tekstual berbasis pembuatan skrip Windows PowerShell. Versi yang saat ini didukung adalah: PowerShell 5.1 (GA), PowerShell 7.1 (pratinjau), dan PowerShell 7.2 (pratinjau). |
PowerShell Workflow | Runbook tekstual berbasis pembuatan skrip Windows PowerShell Workflow. |
Python | Runbook tekstual berdasarkan pembuatan skrip Python. Versi yang saat ini didukung adalah: Python 2.7 (GA), Python 3.8 (GA), dan Python 3.10 (pratinjau). |
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. |
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 (pratinjau), 7.1 (pratinjau) atau 5.1). Layanan Azure Automation mendukung runtime PowerShell terbaru.
Azure sandbox dan Hybrid Runbook Worker yang sama dapat menjalankan runbook PowerShell 5.1 dan PowerShell 7.1 (pratinjau) secara berdampingan.
Catatan
- Saat ini, versi runtime PowerShell 7.2 (pratinjau) didukung untuk pekerjaan Cloud dan Hybrid di semua wilayah Publik kecuali awan Australia Tengah2, Korea Selatan, Swedia Selatan, Jio India Tengah, Brasil Tenggara, India Tengah, India Barat, UEA Tengah, dan Gov.
- Pada saat eksekusi runbook, jika Anda memilih Versi Runtime sebagai 7.1 (pratinjau), modul PowerShell yang menargetkan versi runtime 7.1 (pratinjau) 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.2 (pratinjau).
Pastikan Anda memilih Versi Runtime yang tepat untuk modul.
Misalnya: jika Anda menjalankan runbook untuk skenario otomatisasi SharePoint di Runtime versi7.1 (pratinjau), impor modul di Runtime versi7.1 (pratinjau); jika Anda menjalankan runbook untuk skenario otomatisasi SharePoint di Runtime versi5.1, impor modul di Runtime versi5.1. Dalam hal ini, Anda akan melihat dua entri untuk modul, satu untuk Runtime Versi7.1(pratinjau) dan lainnya untuk 5.1.
Catatan
Saat ini, PowerShell 5.1, PowerShell 7.1 (pratinjau) dan PowerShell 7.2 (pratinjau) 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
- Anda pasti sudah tidak asing lagi dengan pembuatan skrip PowerShell.
- Runbook tidak dapat menggunakan pemrosesan paralel untuk menjalankan beberapa tindakan secara paralel.
- Runbook tidak dapat menggunakan titik pemeriksaan untuk melanjutkan runbook jika ada kesalahan.
- Anda hanya dapat menyertakan runbook PowerShell Workflow dan runbook grafis sebagai runbook turunan dengan menggunakan cmdlet Start-AzAutomationRunbook yang menghasilkan pekerjaan baru.
- Runbook tidak dapat menggunakan pernyataan #Requires PowerShell, tidak didukung di kotak pasir Azure atau di Hybrid Runbook Workers dan dapat menyebabkan pekerjaan gagal.
Masalah yang diketahui
- Runbook PowerShell tidak dapat mengambil aset variabel yang tidak terenkripsi dengan nilai kosong.
- Runbook PowerShell tidak dapat mengambil aset variabel dengan nama yang memuat
*~*
. - Operasi Get-Process dalam loop di runbook PowerShell dapat crash setelah sekitar 80 pengulangan.
- Runbook PowerShell dapat gagal jika runbook mencoba menulis sejumlah besar data ke aliran output sekaligus. Anda biasanya dapat mengatasi masalah ini dengan memiliki output runbook hanya informasi yang diperlukan untuk bekerja dengan objek besar. Misalnya, alih-alih menggunakan
Get-Process
tanpa batasan, Anda dapat memberikan parameter yang diperlukan output cmdlet seperti dalamGet-Process | Select ProcessName, CPU
. - Saat Anda menggunakan versi modul ExchangeOnlineManagement : 3.0.0 atau yang lebih tinggi, Anda mungkin mengalami kesalahan. Untuk mengatasi masalah ini, pastikan Anda juga mengunggah modul PowerShellGet dan PackageManagement secara eksplisit.
- Saat Anda menggunakan cmdlet Item baru, pekerjaan mungkin ditangguhkan. Untuk mengatasi masalah ini, ikuti langkah-langkah mitigasi:
- Konsumsi output
new-item
cmdlet dalam variabel dan jangan menulisnya ke aliran output menggunakanwrite-output
perintah .- Anda dapat menggunakan debug atau aliran kemajuan setelah mengaktifkannya dari pengaturan Pengelogan dan Pelacakan runbook.
$item = New-Item -Path ".\message.txt" -Force -ErrorAction SilentlyContinue write-debug $item # or use write-progress $item
- Atau, Anda dapat memeriksa apakah variabel tidak ada gunanya jika diperlukan untuk melakukannya dalam skrip.
$item = New-Item -Path ".\message.txt" -Force -ErrorAction SilentlyContinue if($item) { write-output "File Created" }
- Anda juga dapat meningkatkan runbook ke PowerShell 7.1 atau PowerShell 7.2 di mana runbook yang sama akan berfungsi seperti yang diharapkan.
- Konsumsi output
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 (pratinjau) 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
- Anda pasti sudah tidak asing lagi dengan PowerShell Workflow.
- 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 mengedit kode runbook secara langsung 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 Python 3.8 Hybrid di 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
- Anda pasti sudah tidak asing lagi dengan pembuatan skrip Python.
- Untuk modul Python 2.7.12, gunakan file roda cp27-amd6.
- Untuk menggunakan pustaka pihak ketiga, Anda harus mengimpor paket ke akun Automation.
- Azure Automation tidak mendukung sys.stderr.
- Paket automationassets Python tidak tersedia di pypi.org, sehingga tidak tersedia untuk diimpor ke komputer Windows.
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 yang diketahui
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.