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 – střed, Spojené arabské emiráty – střed, Izrael – střed, Itálie – sever a Německo – sever.
- 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 verzi Runtime 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 verze 5.1, naimportujte modul do modulu Runtime verze 5.1. V tomto případě by se pro modul zobrazily dvě položky, jedna pro modul runtime verze 7.1 (Preview) a jiná pro verzi 5.1.
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 – střed, Spojené arabské emiráty – střed, Izrael – střed, Itálie – sever a Německo – sever.
- 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říkazGet-AzStorageAccount
byl nalezen v moduluAz.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žijteStart-AutomationRunbook
(interní rutinu) neboStart-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:\Python2
napří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
- Další informace o runboocích PowerShellu najdete v kurzu : Vytvoření runbooku PowerShellu.
- Další informace o runbookech pracovních postupů PowerShellu najdete v tématu Kurz: Vytvoření runbooku pracovního postupu PowerShellu.
- Další informace o grafických runboocích najdete v tématu Kurz: Vytvoření grafického runbooku.
- Další informace o runboocích Pythonu najdete v kurzu : Vytvoření runbooku Pythonu.