Typy runbooků Azure Automation

Funkce Automatizace procesů Azure podporuje několik typů runbooků, jak je definováno v následující tabulce. Další informace o prostředí automatizace procesů najdete v tématu Spouštění runbooků ve službě Azure Automation.

Typ Popis
PowerShell Textový runbook založený na skriptování prostředí Windows PowerShell. Aktuálně podporované verze jsou: PowerShell 7.2 (GA) a PowerShell 5.1 (GA). Vzhledem k tomu, že PowerShell 7.1 už nadřazený produkt PowerShell nepodporuje, doporučujeme vytvářet runbooky v dlouhodobé podporované verzi PowerShellu 7.2.
Pracovní postup PowerShellu Textový runbook založený na skriptování pracovního postupu Windows PowerShellu
Python Textový runbook založený na skriptování Pythonu Aktuálně podporované verze jsou: Python 3.8 (GA) a Python 3.10 (Preview). Vzhledem k tomu, že Python 2.7 už nadřazený produkt Python nepodporuje, doporučujeme vytvářet runbooky v dlouhodobých podporovaných verzích.
Grafický Grafický runbook založený na prostředí Windows PowerShell a zcela vytvořený a upravený v grafickém editoru na webu Azure Portal.
Grafický pracovní postup PowerShellu Grafický runbook založený na pracovním postupu Windows PowerShellu a zcela vytvořený a upravený v grafickém editoru na webu Azure Portal.

Poznámka:

Azure Automation bude dodržovat životní cyklus podpory jazykových verzí PowerShellu a Pythonu v souladu s časovými osami publikovanými nadřazenými produkty PowerShell a Pythonem . Doporučujeme používat runbooky s podporovanými jazykovými verzemi.

Při určování typu, který se má použít pro konkrétní runbook, vezměte v úvahu následující aspekty.

  • Runbooky nemůžete převést z grafického na typ textu ani naopak.
  • Při používání runbooků různých typů jako podřízených runbooků existují omezení. Další informace najdete v tématu Podřízené runbooky ve službě Azure Automation.

Runbooky PowerShellu

Runbooky PowerShellu jsou založené na Windows PowerShellu. Kód runbooku přímo upravíte pomocí textového editoru na webu Azure Portal. Můžete také použít libovolný offline textový editor a importovat runbook do Služby Azure Automation.

Verze PowerShellu je určená zadanou verzí modulu runtime (verze 7.2, 7.1 (Preview) nebo 5.1).

Stejný sandbox Azure a hybrid Runbook Worker můžou souběžně spouštět několik runbooků PowerShellu , které cílí na různé verze modulu runtime.

Poznámka:

  • V současné době se powershellová verze modulu runtime 7.2 podporuje pro cloudové i hybridní úlohy ve všech veřejných oblastech s výjimkou centrální Indie, Spojené arabské emiráty – střed, Izrael – střed, Itálie – sever, Německo – sever a cloud gov.
  • Pokud v době spuštění runbooku vyberete verzi modulu runtime 7.2, použijí se moduly PowerShellu, které cílí na verzi modulu runtime 7.2, a pokud vyberete verzi modulu runtime runtime 5.1, použijí se moduly PowerShellu, které cílí na verzi modulu runtime 5.1. To platí pro moduly PowerShellu 7.1 (Preview) a runbooky.

Ujistěte se, že jste pro moduly vybrali správnou verzi modulu runtime.

Příklad: Pokud spouštíte runbook pro scénář automatizace SharePointu ve verziRuntime 7.1 (Preview) a pak modul naimportujte do modulu Runtime verze 7.1 (Preview); pokud spouštíte runbook pro scénář automatizace SharePointu ve verzi 5.1 modulu Runtime verze5.1, naimportujte modul do modulu Runtime verze5.1. V tomto případě by se pro modul zobrazily dvě položky, jedna pro modul runtime verze7.1 (Preview) a jiná pro verzi 5.1.

typy runbooků.

Poznámka:

V současné době se podporuje PowerShell 5.1, PowerShell 7.1 (Preview) a PowerShell 7.2.

Výhody

  • Implementujte veškerou složitou logiku pomocí kódu PowerShellu bez dalších složitostí pracovního postupu PowerShellu.
  • Spusťte rychleji než runbooky pracovního postupu PowerShellu, protože před spuštěním není nutné je zkompilovat.
  • Běží v Azure a v hybridních pracovních procesů Runbook Worker pro Windows i Linux.

Omezení a známé problémy

Tady jsou aktuální omezení a známé problémy s runbooky PowerShellu:

Omezení

Poznámka:

V současné době se powershellová verze modulu runtime 7.2 podporuje pro cloudové i hybridní úlohy ve všech veřejných oblastech s výjimkou centrální Indie, Spojené arabské emiráty – střed, Izrael – střed, Itálie – sever, Německo – sever a cloud gov.

  • U verze modulu runtime PowerShellu 7.2 se aktivity modulu pro importované moduly extrahují. Použití rozšíření Azure Automation pro VS Code ke zjednodušení prostředí vytváření runbooků
  • PowerShell 7.x nepodporuje pracovní postupy. Další informace najdete v pracovním postupu PowerShellu, kde najdete další podrobnosti.
  • PowerShell 7.x aktuálně nepodporuje podepsané runbooky.
  • Integrace správy zdrojového kódu nepodporuje PowerShell 7.2. PowerShell 7.2 runbooky ve správě zdrojového kódu se také vytvoří v účtu Automation jako runtime 5.1.
  • Modul Az 8.3.0 je ve výchozím nastavení nainstalovaný. Úplný seznam modulů komponent vybrané verze modulu Az se zobrazí po opětovné konfiguraci verze Az pomocí webu Azure Portal nebo rozhraní API.
  • Importovaný modul PowerShellu 7.2 se ověří během provádění úlohy. Ujistěte se, že jsou pro úspěšné spuštění úlohy importovány také všechny závislosti vybraného modulu.
  • Runbook Azure nepodporuje Start-Job-credential.
  • Azure nepodporuje všechny vstupní parametry PowerShellu. Další informace.

Známé problémy

  • Runbooky, které závisejí na interních cestách k souborům, jako C:\modules je například selhání kvůli změnám v infrastruktuře back-end služby. Změňte kód runbooku, abyste zajistili, že neexistují žádné závislosti na interních cestách k souborům, a pomocí rutiny Get-ChildItem získejte požadované informace o modulu.

  • Get-AzStorageAccount Rutina může selhat s chybou: Příkaz Get-AzStorageAccount byl nalezen v modulu Az.Storage, ale modul nelze načíst.

  • Spouštění podřízených skriptů pomocí .\child-runbook.ps1 není podporováno.
    Alternativní řešení: K spuštění jiného runbooku z nadřazeného runbooku použijte Start-AutomationRunbook (interní rutinu) nebo Start-AzAutomationRunbook (z modulu Az.Automation ).

  • Pokud používáte modul ExchangeOnlineManagement verze: 3.0.0 nebo vyšší, můžete zaznamenat chyby. Pokud chcete tento problém vyřešit, ujistěte se, že explicitně nahrajete moduly PowerShellGet a PackageManagement .

  • Když použijete rutinu New-AzAutomationVariable v modulu Az.Automation k nahrání proměnné objektu typu, nebude operace fungovat podle očekávání.

    Alternativní řešení: Převeďte objekt na řetězec JSON pomocí rutiny ConvertTo-Json a pak nahrajte proměnnou s řetězcem JSON jako jeho hodnotou. Toto alternativní řešení zajišťuje správné zpracování proměnné v prostředí Azure Automation jako řetězec JSON.

    Příklad – Vytvoření objektu PowerShellu, který obsahuje uložené informace o virtuálních počítačích Azure

      # 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 
    

Runbooky pracovního postupu PowerShellu

Runbooky pracovního postupu PowerShellu jsou textové runbooky založené na pracovním postupu Windows PowerShellu. Kód runbooku přímo upravíte pomocí textového editoru na webu Azure Portal. Můžete také použít libovolný offline textový editor a importovat runbook do Služby Azure Automation.

Poznámka:

PowerShell 7.1 (Preview) a PowerShell 7.2 nepodporují runbooky pracovních postupů.

Výhody

  • Implementujte veškerou složitou logiku pomocí kódu pracovního postupu PowerShellu.
  • Pokud dojde k chybě, použijte kontrolní body k obnovení operace.
  • Paralelní zpracování umožňuje provádět paralelně více akcí.
  • Může obsahovat další grafické runbooky a runbooky pracovních postupů PowerShellu jako podřízené runbooky pro vytváření pracovních postupů vysoké úrovně.

Omezení

  • Pracovní postup PowerShellu není ve verzích PowerShellu 7+ podporovaný. Zastaralé runbooky proto nejde upgradovat.
  • Neefektivní zpracování paralelního spouštění v porovnání s novějšími verzemi PowerShellu 7 nebo novějšími.
  • Pracovní postup PowerShellu interně funguje pomocí více procesů. Moduly dostupné v jednom procesu proto nemusí být dostupné v jiném procesu a způsobují výjimky, jako je například příkaz nenalezena.
  • Runbooky musí řešit další složitost pracovního postupu PowerShellu, jako jsou deserializované objekty.
  • Spuštění runbooků trvá déle než powershellové runbooky, protože je nutné je před spuštěním zkompilovat.
  • Runbooky PowerShellu můžete zahrnout jenom jako podřízené runbooky pomocí této rutiny Start-AzAutomationRunbook .
  • Runbooky nejde spustit v procesu Hybrid Runbook Worker s Linuxem.

Runbooky Pythonu

Runbooky Pythonu se kompilují v pythonu 2.7(GA), Pythonu 3.8 (GA) a Pythonu 3.10 (Preview). Kód runbooku můžete přímo upravit pomocí textového editoru na webu Azure Portal. Můžete také použít offline textový editor a importovat runbook do Služby Azure Automation.

V současné době se verze modulu runtime Python 3.10 (Preview) podporuje pro cloudové i hybridní úlohy ve všech veřejných oblastech s výjimkou austrálie – střed 2, Korea – jih, Švédsko – jih, Jio Indie – střed, Brazílie – jih, Indie – střed, Indie – středozápad, Spojené arabské emiráty – střed a gov.

Výhody

Poznámka:

Import balíčku Pythonu může trvat několik minut.

  • Používá robustní knihovny Pythonu.
  • Může běžet v Azure nebo v hybrid Runbook Worker.
  • V případě Pythonu 2.7 jsou hybridní pracovní procesy Runbooku pro Windows podporované s nainstalovaným Pythonem 2.7 .
  • Pro cloudové úlohy Pythonu 3.8 se podporuje verze Pythonu 3.8. Skripty a balíčky z jakékoli verze 3.x můžou fungovat, pokud je kód kompatibilní napříč různými verzemi.
  • V případě hybridních úloh Pythonu 3.8 na počítačích s Windows můžete nainstalovat libovolnou verzi 3.x, kterou chcete použít.
  • V případě hybridních úloh Pythonu 3.8 na počítačích s Linuxem závisíme na verzi Pythonu 3 nainstalované na počítači, aby bylo možné spustit DSC OMSConfig a Linux Hybrid Worker. Různé verze by měly fungovat, pokud mezi verzemi Pythonu 3 nedojde k žádným zásadním změnám v podpisech metod nebo kontraktech.

Omezení

Následují omezení runbooků Pythonu.

  • V případě modulů Pythonu 3.10 (Preview) se v současné době podporují jenom soubory kol, které cílí na cp310 operačního systému Linux. Další informace
  • Integrace správy zdrojového kódu není podporovaná.
  • Vlastní balíčky pro Python 3.10 (Preview) se ověřují jenom během modulu runtime úloh. Úloha se očekává, že selže, pokud balíček není kompatibilní v modulu runtime nebo pokud nejsou do účtu Automation importovány požadované závislosti balíčků.
  • Runbooky Pythonu 3.10 (Preview) se v současné době podporují jenom na webu Azure Portal. Rest API a PowerShell nejsou podporovány.

Více verzí Pythonu

Platí pro hybridní pracovní procesy Windows. Při spuštění runbooku Python 2 se při spuštění runbooku Windows nejprve vyhledá proměnná PYTHON_2_PATH prostředí a ověří, jestli odkazuje na platný spustitelný soubor. Pokud je C:\Python2například instalační složka , zkontroluje, jestli C:\Python2\python.exe je platná cesta. Pokud se nenajde, vyhledá PATH proměnnou prostředí, aby podobnou kontrolu zjistila.

V případě Pythonu 3 nejprve vyhledá proměnnou PYTHON_3_PATH env a pak se vrátí zpět do PATH proměnné prostředí.

Pokud používáte jenom jednu verzi Pythonu, můžete do PATH proměnné přidat instalační cestu. Pokud chcete použít obě verze v modulu Runbook Worker, nastavte PYTHON_2_PATH a PYTHON_3_PATH nastavte umístění modulu pro tyto verze.

Známé problémy

U cloudových úloh někdy úlohy Pythonu 3.8 selhávají se zprávou o výjimce invalid interpreter executable path. Tato výjimka se může zobrazit, pokud je úloha zpožděná, začíná více než 10 minut nebo pomocí runbooku Start-AutomationRunbook ke spuštění runbooků Python 3.8. Pokud je úloha zpožděná, restartování runbooku by mělo být dostatečné.

Grafické runbooky

Pomocí grafického editoru na webu Azure Portal můžete vytvářet a upravovat grafické a grafické runbooky pracovních postupů PowerShellu. Tento typ runbooku ale nemůžete vytvořit ani upravit pomocí jiného nástroje. Hlavní funkce grafických runbooků:

  • Exportovaný do souborů ve vašem účtu Automation a následný import do jiného účtu Automation.
  • Vygenerujte kód PowerShellu.
  • Během importu se převedou na nebo z grafických runbooků pracovních postupů PowerShellu.

Výhody

  • Použijte vizuální insert-link-configure authoring model.
  • Zaměřte se na to, jak data procházejí procesem.
  • Vizuálně představují procesy správy.
  • Zahrňte další runbooky jako podřízené runbooky pro vytváření pracovních postupů vysoké úrovně.
  • Povzbuďte modulární programování.

Omezení

  • Nejde vytvořit ani upravit mimo web Azure Portal.
  • Může vyžadovat aktivitu kódu obsahující kód PowerShellu ke spuštění složité logiky.
  • Nelze převést na jeden z textových formátů, ani nemůžete převést textový runbook na grafický formát.
  • Nelze zobrazit ani přímo upravit kód PowerShellu, který grafický pracovní postup vytvoří. Kód, který vytvoříte, můžete zobrazit v libovolné aktivitě kódu.
  • Runbooky nejde spustit v procesu Hybrid Runbook Worker s Linuxem. Viz Automatizace prostředků v datacentru nebo cloudu pomocí funkce Hybrid Runbook Worker.
  • Grafické runbooky nelze digitálně podepsat.

Další kroky