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.

runbook-typer.

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 i Get-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:\Python2kontrollerar 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:

  1. Skapa en ny miljövariabel med namnet PYTHON_3_PATH och ange installationsmappen. Om installationsmappen till exempel är C:\Python3måste den här sökvägen läggas till i variabeln.
  2. 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