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 Anda untuk 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 Hibrid di semua wilayah Publik kecuali India Tengah, UAE Tengah, Israel Tengah, Italia Utara, Jerman Utara dan awan Gov.
  • 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 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.

Jenis runbook.

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 Hibrid di semua wilayah Publik kecuali India Tengah, UAE Tengah, Israel Tengah, Italia Utara, Jerman Utara dan awan Gov.

  • 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: Perintah Get-AzStorageAccount ditemukan dalam modul Az.Storage, tetapi modul tidak dapat dimuat.

  • Menjalankan skrip turunan menggunakan .\child-runbook.ps1 tidak didukung.
    Solusi sementara: Gunakan Start-AutomationRunbook (cmdlet internal) atau Start-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 pathpengecualian . 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