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
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.
PowerShell Runbook tekstual berbasis pembuatan skrip Windows PowerShell.
PowerShell Workflow Runbook tekstual berbasis pembuatan skrip Windows PowerShell Workflow.
Python Runbook tekstual berdasarkan pembuatan skrip Python.

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 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.

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 pratinjau versi 7.1 atau 5.1). Layanan Azure Automation mendukung runtime PowerShell terbaru.

Kotak pasir Azure dan Hybrid Runbook Worker yang sama dapat menjalankan runbook PowerShell 5.1 dan PowerShell 7.1 secara berdampingan.

Catatan

Pada saat eksekusi runbook, jika Anda memilih Versi Runtime sebagai 7.1 (preview) , modul PowerShell yang menargetkan versi runtime 7.1 digunakan dan jika Anda memilih Versi Runtime sebagai 5.1, modul PowerShell yang menargetkan versi runtime 5.1 digunakan.

Pastikan Anda memilih Versi Runtime yang tepat untuk modul.

Misalnya : jika Anda menjalankan runbook untuk skenario otomatisasi Sharepoint di Runtimeversi7.1 (pratinjau), impor modul di Runtimeversi7.1 (pratinjau); jika Anda menjalankan runbook untuk skenario otomatisasi Sharepoint di Runtimeversi5.1, maka impor modul di Runtimeversi5.1. Dalam hal ini, Anda akan melihat dua entri untuk modul, satu untuk RuntimeVersion7.1(pratinjau) dan lainnya untuk 5.1.

runbook Types.

Saat ini, PowerShell 5.1 dan 7.1 (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 - versi 5.1

  • 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.
  • Runbooks tidak dapat menggunakan pernyataan #Requires PowerShell karena tidak didukung di Azure Sandbox atau di Hybrid Runbook Workers dan mungkin menyebabkan pekerjaan gagal.

Masalah umum - versi 5.1

Berikut ini adalah masalah yang diketahui saat ini dengan runbook PowerShell:

  • 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 dalam Get-Process | Select ProcessName, CPU.

Batasan - 7.1 (pratinjau)

  • Cmdlet PowerShell internal Azure Automation tidak didukung pada Linux Hybrid Runbook Worker. Anda harus mengimpor modul automationassets di awal runbook Python Anda untuk mengakses fungsi sumber daya bersama (aset) akun Automation.
  • Untuk versi runtime PowerShell 7, aktivitas modul tidak diekstraksi untuk modul yang diimpor.
  • Jenis parameter runbook PSCredential tidak didukung dalam versi runtime PowerShell 7.
  • PowerShell 7.x tidak mendukung alur kerja. Lihat ini untuk detail selengkapnya.
  • PowerShell 7.x saat ini tidak mendukung runbook yang ditandatangani.
  • Integrasi kontrol sumber tidak mendukung PowerShell 7.1. Selain itu, runbook PowerShell 7.1 di kontrol sumber dibuat di akun Automation sebagai Runtime 5.1.

Masalah Umum - 7.1 (pratinjau)

  • Menjalankan skrip turunan menggunakan .\child-runbook.ps1 tidak didukung dalam pratinjau ini. Solusi: Gunakan Start-AutomationRunbook (cmdlet internal) atau Start-AzAutomationRunbook (dari modul Az.Automation) untuk memulai runbook lain dari runbook induk.
  • Properti runbook yang menentukan preferensi pengelogan tidak didukung di runtime PowerShell 7.
    Solusi: Atur preferensi secara eksplisit di awal runbook seperti di bawah ini -
        $VerbosePreference = "Continue"
    
        $ProgressPreference = "Continue"
    
  • Hindari mengimpor modul Az.Accounts ke versi 2.4.0 untuk runtime PowerShell 7 karena mungkin ada perilaku yang tidak diharapkan menggunakan versi ini di Azure Automation.
  • Anda mungkin mengalami masalah pemformatan dengan aliran output kesalahan untuk pekerjaan yang berjalan di runtime PowerShell 7.
  • Saat Anda mengimpor modul PowerShell 7.1 yang bergantung pada modul lain, Anda mungkin menemukan bahwa tombol impor berwarna abu-abu bahkan ketika versi PowerShell 7.1 dari modul dependen diinstal. Misalnya, Az.Compute versi 4.20.0, memiliki dependensi pada Az.Accounts menjadi >= 2.6.0. Masalah ini terjadi ketika modul dependen yang setara di PowerShell 5.1 tidak memenuhi persyaratan versi. Misalnya, Az.Accounts versi 5.1 adalah < 2.6.0.
  • Saat Anda memulai runbook PowerShell 7 menggunakan webhook, runbook tersebut secara otomatis mengonversi parameter input webhook menjadi JSON yang tidak valid.

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 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 Python 2 dan 3. Runbook Python 3 saat ini dalam 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.

Runbook Python 3 didukung dalam infrastruktur global Azure berikut:

  • Azure Global
  • Azure Government

Kelebihan

  • Menggunakan pustaka Python yang stabil.
  • Dapat berjalan di Azure atau di Hybrid Runbook Workers.
  • Untuk Python 2, Windows Hybrid Runbook Workers didukung dengan pemasangan python 2.7.
  • Untuk Python 3 Cloud Jobs, 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 Hybrid di komputer Windows, Anda dapat memilih untuk memasang versi 3.x apa pun yang mungkin ingin Anda gunakan.
  • Untuk pekerjaan Python 3 Hybrid di Linux, kami mengandalkan pemasangan Python versi 3 pada komputer untuk menjalankan DSC OMSConfig dan Linux Hybrid Worker. Anda sebaiknya memasang 3.6 di komputer Linux. Tetapi versi yang berbeda seharusnya juga berfungsi jika tidak ada perubahan yang melanggar aturan dalam tanda tangan metode atau kontrak antar versi Python 3.

Batasan

  • Anda pasti sudah tidak asing lagi dengan pembuatan skrip Python.
  • Untuk menggunakan pustaka pihak ketiga, Anda harus mengimpor paket ke akun Automation.
  • Menggunakan cmdlet Start-AutomationRunbook di PowerShell/PowerShell Workflow untuk memulai runbook Python 3 (pratinjau) tidak berfungsi. Anda dapat menggunakan cmdlet Start-AzAutomationRunbook dari modul Az.Automation atau cmdlet Start-AzureRmAutomationRunbook dari modul AzureRm.Automation untuk mengatasi batasan ini. 
  • 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

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 terkadang gagal dengan pesan pengecualian invalid interpreter executable path. Anda mungkin melihat pengecualian ini jika pekerjaan tertunda, memulai lebih dari 10 menit, atau menggunakan Start-AutomationRunbook untuk memulai runbook Python 3. Jika pekerjaan tertunda, Anda hanya perlu memulai ulang runbook. Pekerjaan hibrid harus bekerja tanpa masalah apa pun jika menggunakan langkah-langkah berikut:

  1. Buat variabel lingkungan baru bernama PYTHON_3_PATH dan tentukan folder penginstalan. Misalnya, jika folder penginstalan adalah C:\Python3, maka jalur ini perlu ditambahkan ke variabel.
  2. Mulai ulang mesin setelah mengatur variabel lingkungan.

Langkah berikutnya