Azure Automation runbook-typer
Funktionen Azure Automation Process Automation stöder flera typer av runbooks, enligt definitionen i följande tabell. Mer information om processautomatiseringsmiljön finns i Runbook-körning i Azure Automation.
Typ | Description |
---|---|
PowerShell | Text runbook baserat på Windows PowerShell skript. De versioner som stöds för närvarande är: PowerShell 5.1 (GA), PowerShell 7.1 (förhandsversion) och PowerShell 7.2 (förhandsversion). |
PowerShell-arbetsflöde | Text-runbook baserat på skript för Windows PowerShell arbetsflöde. |
Python | Text runbook baserad på Python-skript. De versioner som stöds för närvarande är: Python 2.7 (GA), Python 3.8 (förhandsversion) och Python 3.10 (förhandsversion). |
Grafisk | Grafisk runbook baserad på Windows PowerShell och skapat och redigerat helt i den grafiska redigeraren i Azure Portal. |
Grafiskt PowerShell-arbetsflöde | Grafisk runbook baserad på Windows PowerShell Workflow och skapat och redigerat helt i den grafiska redigeraren i Azure Portal. |
Ta hänsyn till följande när du bestämmer vilken typ som ska användas för en viss runbook.
- Du kan inte konvertera runbooks från grafisk till texttyp eller tvärtom.
- Det finns begränsningar när du använder runbooks av olika typer som underordnade runbooks. Mer information finns i Underordnade runbooks i Azure Automation.
PowerShell-runbooks
PowerShell-runbooks baseras på Windows PowerShell. Du redigerar koden för runbooken direkt med hjälp av textredigeraren i Azure Portal. Du kan också använda valfri offlinetextredigerare och importera runbooken till Azure Automation.
PowerShell-versionen bestäms av den angivna körningsversionen (version 7.2 (förhandsversion), 7.1 (förhandsversion) eller 5.1). Tjänsten Azure Automation stöder den senaste PowerShell-körningen.
Samma Azure-sandbox-miljö och Hybrid Runbook Worker kan köra PowerShell 5.1 - och PowerShell 7.1-runbooks (förhandsversion) sida vid sida.
Anteckning
- PowerShell 7.2-körningsversionen (förhandsversion) stöds för närvarande endast i fem regioner för molnjobb: USA, västra centrala, USA, östra, Sydafrika, norra, Europa, norra, Australien, sydöstra
- Om du väljer Körningsversion som 7.1 (förhandsversion) används PowerShell-moduler för körningsversion 7.1 (förhandsversion) när du väljer Körningsversion som 5.1. Om du väljer Körningsversion som 5.1 används PowerShell-moduler som är inriktade på 5.1-körningsversion. Detta gäller för PowerShell 7.2-moduler (förhandsversion) och runbooks.
Se till att du väljer rätt körningsversion för moduler.
Exempel: om du kör en runbook för ett SharePoint-automatiseringsscenario i Runtime version7.1 (förhandsversion) importerar du modulen i Runtime version7.1 (förhandsversion); Om du kör en runbook för ett SharePoint-automatiseringsscenario i Runtime version5.1 importerar du modulen i Runtime version5.1. I det här fallet visas två poster för modulen, en för Runtime Version7.1 (förhandsversion) och en annan för 5.1.
Anteckning
För närvarande stöds PowerShell 5.1, PowerShell 7.1 (förhandsversion) och PowerShell 7.2 (förhandsversion).
Fördelar
- Implementera all komplex logik med PowerShell-kod utan andra komplexiteter i PowerShell-arbetsflödet.
- Starta snabbare än PowerShell Workflow-runbooks, eftersom de inte behöver kompileras innan de körs.
- Kör i Azure och på Hybrid Runbook Workers för både Windows och Linux.
Begränsningar och kända problem
Följande är de aktuella begränsningarna och kända problem med PowerShell-runbooks:
Begränsningar
- Du måste vara bekant med PowerShell-skript.
- Runbooks kan inte använda parallell bearbetning för att köra flera åtgärder parallellt.
- Runbooks kan inte använda kontrollpunkter för att återuppta runbooken om det uppstår ett fel.
- Du kan bara inkludera PowerShell, PowerShell Workflow-runbooks och grafiska runbooks som underordnade runbooks med hjälp av cmdleten Start-AzAutomationRunbook , som skapar ett nytt jobb.
- Runbooks kan inte använda PowerShell -#Requires-instruktionen . Den stöds inte i Azure-sandbox-miljön eller i Hybrid Runbook Worker och kan orsaka att jobbet misslyckas.
Kända problem
- PowerShell-runbooks kan inte hämta en okrypterad variabeltillgång med ett null-värde.
- PowerShell-runbooks kan inte hämta en variabeltillgång med
*~*
i namnet. - En Get-Process-åtgärd i en loop i en PowerShell-runbook kan krascha efter cirka 80 iterationer.
- En PowerShell-runbook kan misslyckas om den försöker skriva en stor mängd data till utdataströmmen samtidigt. Du kan vanligtvis undvika det här problemet genom att bara ha runbook-utdata den information som behövs för att arbeta med stora objekt. I stället för att använda
Get-Process
utan begränsningar kan du till exempel ha cmdlet-utdata bara de obligatoriska parametrarna som iGet-Process | Select ProcessName, CPU
.
PowerShell Workflow-runbooks
PowerShell Workflow-runbooks är text-runbooks som baseras på Windows PowerShell Workflow. Du redigerar koden för runbooken direkt med hjälp av textredigeraren i Azure Portal. Du kan också använda valfri offlinetextredigerare och importera runbooken till Azure Automation.
Anteckning
PowerShell 7.1 (förhandsversion) och PowerShell 7.2 (förhandsversion) stöder inte arbetsflödes-runbooks.
Fördelar
- Implementera all komplex logik med PowerShell-arbetsflödeskod.
- Använd kontrollpunkter för att återuppta åtgärden om det uppstår ett fel.
- Använd parallell bearbetning för att utföra flera åtgärder parallellt.
- Kan innehålla andra grafiska runbooks och PowerShell Workflow-runbooks som underordnade runbooks för att skapa arbetsflöden på hög nivå.
Begränsningar
- Du måste vara bekant med PowerShell-arbetsflödet.
- Runbooks måste hantera den ytterligare komplexiteten i PowerShell-arbetsflödet, till exempel avserialiserade objekt.
- Runbooks tar längre tid att starta än PowerShell-runbooks eftersom de måste kompileras innan de körs.
- Du kan bara inkludera PowerShell-runbooks som underordnade runbooks med hjälp av cmdleten
Start-AzAutomationRunbook
. - Runbooks kan inte köras på en Linux Hybrid Runbook Worker.
Python-runbooks
Python-runbooks kompileras under Python 2, Python 3.8 (förhandsversion) och Python 3.10 (förhandsversion). Du kan redigera koden för runbooken direkt med hjälp av textredigeraren i Azure Portal. Du kan också använda en offline-textredigerare och importera runbooken till Azure Automation.
- Python 3.10-runbooks (förhandsversion) stöds för närvarande endast i fem regioner för molnjobb:
- USA, västra centrala
- East US
- Sydafrika, norra
- Europa, norra
- Australien, sydöstra
Fördelar
Anteckning
Det kan ta flera minuter att importera ett Python-paket.
- Använder robusta Python-bibliotek.
- Kan köras i Azure eller på Hybrid Runbook Workers.
- För Python 2 stöds Windows Hybrid Runbook Workers med Python 2.7 installerat.
- För Python 3.8 -molnjobb (förhandsversion) stöds Python 3.8-versionen (förhandsversion). Skript och paket från valfri 3.x-version kan fungera om koden är kompatibel mellan olika versioner.
- För Python 3.8-hybridjobb (förhandsversion) på Windows-datorer kan du välja att installera valfri 3.x-version som du kanske vill använda.
- För Python 3.8-hybridjobb (förhandsversion) på Linux-datorer är vi beroende av den Python 3-version som är installerad på datorn för att köra DSC OMSConfig och Linux Hybrid Worker. Olika versioner bör fungera om det inte finns några icke-bakåtkompatibla ändringar i metodsignaturer eller kontrakt mellan versioner av Python 3.
Begränsningar
Här följer begränsningarna för Python-runbooks
- Du måste vara bekant med Python-skript.
- För Python 2.7.12-moduler använder du hjulfilerna cp27-amd6.
- Om du vill använda bibliotek från tredje part måste du importera paketen till Automation-kontot.
- Azure Automation stöder inte sys.stderr.
- Paketet Python automationassets är inte tillgängligt på pypi.org, så det är inte tillgängligt för import till en Windows-dator.
Flera Python-versioner
Det gäller för Windows Hybrid-arbetare. När du kör en Python 2-runbook för en Windows Runbook Worker letar den först efter miljövariabeln PYTHON_2_PATH
och kontrollerar om den pekar på en giltig körbar fil. Om installationsmappen till exempel är C:\Python2
kontrollerar den om C:\Python2\python.exe
är en giltig sökväg. Om den inte hittas söker den PATH
efter miljövariabeln för att göra en liknande kontroll.
För Python 3 letar den PYTHON_3_PATH
först efter env-variabeln och återgår sedan till PATH
miljövariabeln.
När du bara använder en version av Python kan du lägga till installationssökvägen i variabeln PATH
. Om du vill använda båda versionerna på Runbook Worker anger du PYTHON_2_PATH
och PYTHON_3_PATH
till platsen för modulen för dessa versioner.
Kända problem
För molnjobb misslyckas Python 3.8-jobb ibland med ett undantagsmeddelande invalid interpreter executable path
. Du kan se det här undantaget om jobbet är försenat, startar mer än 10 minuter eller använder Start-AutomationRunbook för att starta Python 3.8-runbooks. Om jobbet är försenat räcker det att starta om runbooken. Hybridjobb bör fungera utan problem om du använder följande steg:
- Skapa en ny miljövariabel med namnet
PYTHON_3_PATH
och ange installationsmappen. Om installationsmappen till exempel ärC:\Python3
måste den här sökvägen läggas till i variabeln. - Starta om datorn när du har angett miljövariabeln.
Grafiska runbooks
Du kan skapa och redigera grafiska och grafiska PowerShell Workflow-runbooks med hjälp av den grafiska redigeraren i Azure Portal. Du kan dock inte skapa eller redigera den här typen av runbook med ett annat verktyg. Huvudfunktioner i grafiska runbooks:
- Exporterat till filer i ditt Automation-konto och sedan importerats till ett annat Automation-konto.
- Generera PowerShell-kod.
- Konverteras till eller från grafiska PowerShell Workflow-runbooks under importen.
Fördelar
- Använd den visuella redigeringsmodellen insert-link-configure.
- Fokusera på hur data flödar genom processen.
- Representerar hanteringsprocesser visuellt.
- Inkludera andra runbooks som underordnade runbooks för att skapa arbetsflöden på hög nivå.
- Uppmuntra modulär programmering.
Begränsningar
- Det går inte att skapa eller redigera utanför Azure Portal.
- Kan kräva en kodaktivitet som innehåller PowerShell-kod för att köra komplex logik.
- Det går inte att konvertera till något av textformaten och du kan inte heller konvertera en text runbook till grafiskt format.
- Det går inte att visa eller direkt redigera PowerShell-kod som det grafiska arbetsflödet skapar. Du kan visa koden som du skapar i alla kodaktiviteter.
- Det går inte att köra runbooks på en Linux Hybrid Runbook Worker. Se Automatisera resurser i ditt datacenter eller moln med hjälp av Hybrid Runbook Worker.
- Grafiska runbooks kan inte signeras digitalt.
Nästa steg
- Mer information om PowerShell-runbooks finns i Självstudie: Skapa en PowerShell-runbook.
- Mer information om Runbooks för PowerShell-arbetsflöden finns i Självstudie: Skapa en Runbook för PowerShell-arbetsflöde.
- Mer information om grafiska runbooks finns i Självstudie: Skapa en grafisk runbook.
- Mer information om Python-runbooks finns i Självstudie: Skapa en Python-runbook.