Azure Automation-runbook-típusok

Az Azure Automation folyamatautomatizálási funkciója számos runbooktípust támogat az alábbi táblázatban meghatározottak szerint. A folyamatautomatizálási környezettel kapcsolatos további információkért lásd : Runbook-végrehajtás az Azure Automationben.

Típus Leírás
PowerShell Windows PowerShell-szkriptelésen alapuló szöveges runbook. A jelenleg támogatott verziók a következők: PowerShell 7.2 (GA) és PowerShell 5.1 (GA). Mivel a PowerShell 7.1-et már nem támogatja a szülőtermék, a PowerShell 7.2-es verziójában javasoljuk, hogy hozzon létre runbookokat.
PowerShell-munkafolyamat Szöveges runbook a Windows PowerShell-munkafolyamat szkriptelésén alapul.
Python Python-szkriptelésen alapuló szöveges runbook. A jelenleg támogatott verziók a következők: Python 3.8 (GA) és Python 3.10 (előzetes verzió). Mivel a Python 2.7-et már nem támogatja a Python szülőterméke, javasoljuk, hogy hosszú távon támogatott verziókban hozzon létre runbookokat.
Grafikus A Windows PowerShellen alapuló grafikus runbook teljesen az Azure Portal grafikus szerkesztőjében lett létrehozva és szerkesztve.
Grafikus PowerShell-munkafolyamat Grafikus runbook a Windows PowerShell-munkafolyamat alapján, és teljesen az Azure Portal grafikus szerkesztőjében lett létrehozva és szerkesztve.

Feljegyzés

Az Azure Automation a PowerShell- és Python-nyelvi verziók támogatási életciklusát követi a PowerShell és a Python szülőtermékek által közzétett ütemterveknek megfelelően. Javasoljuk, hogy runbookokat használjon támogatott nyelvi verziókkal.

Vegye figyelembe az alábbi szempontokat egy adott runbook típusának meghatározásakor.

  • Nem konvertálhat runbookokat grafikusról szövegtípusra, vagy fordítva.
  • Vannak korlátozások a különböző típusú runbookok gyermek runbookként való használatakor. További információ: Gyermek runbookok az Azure Automationben.

PowerShell-runbookok

A PowerShell-runbookok a Windows PowerShellen alapulnak. Közvetlenül szerkesztheti a runbook kódját az Azure Portal szövegszerkesztőjével. Használhat offline szövegszerkesztőt is, és importálhatja a runbookot az Azure Automationbe.

A PowerShell-verziót a megadott futtatókörnyezeti verzió (azaz 7.2-es, 7.1-es (előzetes verzió) vagy 5.1-es verzió határozza meg.

Ugyanaz az Azure-tesztkörnyezet és a hibrid runbook-feldolgozó több PowerShell-runbookot is futtathat egymás mellett különböző futtatókörnyezeti verziókkal.

Feljegyzés

  • Jelenleg a PowerShell 7.2-es futtatókörnyezeti verziója mind a felhőbeli, mind a hibrid feladatok esetében támogatott, kivéve Közép-India, az Egyesült Arab Emírségek középső régiója, Izrael középső régiója, Észak-Olaszország, Észak-Németország és Gov felhők.
  • A runbook végrehajtásakor, ha a Futtatókörnyezet verziója 7.2-es verziót választja, a 7.2-es futtatókörnyezeti verziót célzó PowerShell-modulok lesznek használatban, és ha a futtatókörnyezet 5.1-es verzióját választja, akkor az 5.1-es futtatókörnyezeti verziót célzó PowerShell-modulok lesznek használatban. Ez a PowerShell 7.1 (előzetes verzió) moduljaira és runbookjaira vonatkozik.

Győződjön meg arról, hogy a modulokhoz megfelelő futtatókörnyezeti verziót választja ki.

Ha például a 7.1-es verzióban (előzetes verzió) futtat egy SharePoint-automatizálási forgatókönyvhöz tartozó runbookot, importálja a modult a 7.1-es futtatókörnyezetben (előzetes verzió); ha egy SharePoint-automatizálási forgatókönyvhöz futtat egy runbookot az 5.1-es futtatókörnyezetben, importálja a modult az 5.1-es futtatókörnyezetben. Ebben az esetben két bejegyzés jelenik meg a modulhoz, az egyik a Futtatókörnyezet 7.1-es verziójához (előzetes verzió), a másik pedig az 5.1-es verzióhoz.

runbook-típusok.

Feljegyzés

Jelenleg a PowerShell 5.1, a PowerShell 7.1 (előzetes verzió) és a PowerShell 7.2 támogatott.

Előnyök

  • A PowerShell-munkafolyamat egyéb összetettsége nélkül implementálhat minden összetett logikát PowerShell-kóddal.
  • Kezdje gyorsabban, mint a PowerShell-munkafolyamat-runbookok, mivel a futtatás előtt nem kell lefordítani őket.
  • Futtassa az Azure-ban és a hibrid runbook-feldolgozókon Windows és Linux rendszeren egyaránt.

Korlátozások és ismert problémák

A PowerShell-runbookokkal kapcsolatos jelenlegi korlátozások és ismert problémák a következők:

Korlátozások

Feljegyzés

Jelenleg a PowerShell 7.2-es futtatókörnyezeti verziója mind a felhőbeli, mind a hibrid feladatok esetében támogatott, kivéve Közép-India, az Egyesült Arab Emírségek középső régiója, Izrael középső régiója, Észak-Olaszország, Észak-Németország és Gov felhők.

  • A PowerShell 7.2 futtatókörnyezet verziója esetében a modultevékenységek nem lesznek kinyerve az importált modulokhoz. A VS-kódhoz készült Azure Automation-bővítmény használatával egyszerűsítheti a runbookok szerzői élményét.
  • A PowerShell 7.x nem támogatja a munkafolyamatokat. További információt a PowerShell-munkafolyamatban talál további részletekért.
  • A PowerShell 7.x jelenleg nem támogatja az aláírt runbookokat.
  • A forrásvezérlő integrációja nem támogatja a PowerShell 7.2-t. Emellett a forrásvezérlőben lévő PowerShell 7.2-runbookok runtime 5.1-ként jönnek létre az Automation-fiókban.
  • Az Az module 8.3.0 alapértelmezés szerint telepítve van. A kiválasztott Az modulverzió összetevőmoduljainak teljes listája akkor jelenik meg, ha az Az-verzió újra konfigurálva van az Azure Portal vagy az API használatával.
  • Az importált PowerShell 7.2-modul a feladat végrehajtása során lesz érvényesítve. Győződjön meg arról, hogy a kiválasztott modul összes függősége is importálva van a sikeres feladatvégrehajtás érdekében.
  • Az Azure runbook nem támogatja Start-Job a -credential.
  • Az Azure nem támogatja az összes PowerShell-bemeneti paramétert. További információ.

Ismert problémák

  • A belső fájlelérési útvonalaktól függőséget szedő runbookok, például C:\modules a szolgáltatás háttérinfrastruktúra változásai miatt meghiúsulhatnak. Módosítsa a runbook kódját, hogy meggyőződjön arról, hogy nincsenek függőségek a belső fájlelérési utakon, és a Get-ChildItem használatával lekérheti a szükséges moduladatokat.

  • Get-AzStorageAccount A parancsmag hiba miatt meghiúsulhat: A Get-AzStorageAccount parancs a modulban Az.Storagetalálható, de a modul nem tölthető be.

  • A gyermekszkriptek .\child-runbook.ps1 futtatása nem támogatott.
    Megkerülő megoldás: Használjon Start-AutomationRunbook (belső parancsmag) vagy Start-AzAutomationRunbook (az Az.Automation modulból) egy másik runbookot a szülő runbookból.

  • Ha az ExchangeOnlineManagement modul 3.0.0-s vagy újabb verzióját használja, hibákat tapasztalhat. A probléma megoldásához győződjön meg arról, hogy kifejezetten feltölti a PowerShellGet és a PackageManagement modulokat.

  • Ha az New-AzAutomationVariable Az.Automation modul parancsmagját használja egy típusú objektum változójának feltöltéséhez, a művelet nem a várt módon működik.

    Megkerülő megoldás: Konvertálja az objektumot JSON-sztringgé a ConvertTo-Json parancsmaggal, majd töltse fel a változót a JSON-sztringgel annak értékeként. Ez a kerülő megoldás biztosítja a változó megfelelő kezelését az Azure Automation-környezetben JSON-sztringként.

    Példa – Olyan PowerShell-objektum létrehozása, amely adatokat tárol az Azure-beli virtuális gépek körül

      # 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 
    

PowerShell-munkafolyamat-forgatókönyvek

A PowerShell-munkafolyamat-runbookok a Windows PowerShell-munkafolyamaton alapuló forgatókönyvek. Közvetlenül szerkesztheti a runbook kódját az Azure Portal szövegszerkesztőjével. Használhat offline szövegszerkesztőt is, és importálhatja a runbookot az Azure Automationbe.

Feljegyzés

A PowerShell 7.1 (előzetes verzió) és a PowerShell 7.2 nem támogatja a munkafolyamat-runbookokat.

Előnyök

  • Az összes összetett logika implementálása PowerShell-munkafolyamat-kóddal.
  • Ha hiba történik, az ellenőrzőpontok használatával folytathatja a műveletet.
  • Párhuzamos feldolgozás használata több művelet párhuzamos elvégzéséhez.
  • A magas szintű munkafolyamatok létrehozásához más grafikus runbookokat és PowerShell-munkafolyamat-runbookokat is tartalmazhat gyermek runbookokként.

Korlátozások

  • A PowerShell-munkafolyamatok nem támogatottak a PowerShell 7+ verzióiban. Ezért az elavult runbookok nem frissíthetők.
  • A párhuzamos végrehajtás nem hatékony kezelése az újabb PowerShell 7+-verziókhoz képest.
  • A PowerShell-munkafolyamat belsőleg több folyamat használatával működik. Ezért előfordulhat, hogy az egyik folyamatban elérhető modulok nem érhetők el egy másikban, és olyan kivételeket okoznak, mint a parancs.
  • A runbookoknak foglalkozniuk kell a PowerShell-munkafolyamat további összetettségével, például a deszerializált objektumokkal.
  • A runbookok indítása hosszabb időt vesz igénybe, mint a PowerShell-runbookok, mivel a futtatás előtt le kell fordítani őket.
  • A parancsmaggal Start-AzAutomationRunbook a PowerShell-runbookokat csak gyermek runbookokként lehet felvenni.
  • A runbookok nem futtathatók linuxos hibrid runbook-feldolgozón.

Python-runbookok

A Python-runbookok a Python 2.7 (GA), a Python 3.8 (GA) és a Python 3.10 (előzetes verzió) alatt fordíthatók le. A runbook kódját közvetlenül szerkesztheti az Azure Portal szövegszerkesztőjével. Offline szövegszerkesztőt is használhat, és importálhatja a runbookot az Azure Automationbe.

A Python 3.10 -es (előzetes verziójú) futtatókörnyezeti verzió jelenleg a felhőbeli és a hibrid feladatok esetében is támogatott az összes nyilvános régióban, kivéve Ausztrália középső régiójában, Dél-Korea déli részén, Dél-Svédországban, Jio India középső régiójában, Brazília déli régiójában, Közép-Indiában, Nyugat-Indiában, az Egyesült Arab Emírségek középső régiójában és a Gov-felhőkben.

Előnyök

Feljegyzés

Egy Python-csomag importálása több percet is igénybe vehet.

  • A robusztus Python-kódtárakat használja.
  • Futtatható az Azure-ban vagy hibrid runbook-feldolgozókon.
  • A Python 2.7-ben a Windows Hibrid Runbook-feldolgozók támogatottak a Python 2.7-ben .
  • A Python 3.8 Cloud Jobs esetében a Python 3.8 verziója támogatott. Bármely 3.x verzió szkriptjei és csomagjai akkor működnek, ha a kód különböző verziókban kompatibilis.
  • A Python 3.8 Hibrid feladatok windowsos gépeken való telepítése mellett bármilyen 3.x verziót telepíthet.
  • A Linux rendszerű gépeken futó Python 3.8 hibrid feladatok esetében a gépen telepített Python 3-verziótól függünk, hogy a DSC OMSConfig és a Linux hibrid feldolgozó fut-e. A különböző verzióknak akkor kell működnie, ha a Python 3 verziói között nem változnak kompatibilitástörő változások a metódusadákban vagy a szerződésekben.

Korlátozások

Az alábbiakban a Python-runbookok korlátait ismertetjük

  • Python 3.10 (előzetes verzió) modulok esetében jelenleg csak a cp310 Linux operációs rendszert célzó kerékfájlok támogatottak. További információ
  • A forrásvezérlő integrációja nem támogatott.
  • A Python 3.10 egyéni csomagjai (előzetes verzió) csak a feladatfuttatás során vannak érvényesítve. A feladat várhatóan sikertelen lesz, ha a csomag nem kompatibilis a futtatókörnyezetben, vagy ha a szükséges csomagok függőségei nem importálhatók az Automation-fiókba.
  • A Python 3.10 -es (előzetes verziójú) runbookok jelenleg csak az Azure Portalon támogatottak. A Rest API és a PowerShell nem támogatott.

Több Python-verzió

Ez a Hibrid Windows-feldolgozókra vonatkozik. Windows Runbook Worker esetén a Python 2 runbook futtatásakor először a környezeti változót PYTHON_2_PATH keresi, és ellenőrzi, hogy érvényes végrehajtható fájlra mutat-e. Ha például a telepítési mappa, C:\Python2akkor ellenőrzi C:\Python2\python.exe , hogy érvényes-e az elérési út. Ha nem található, akkor azt keresi, hogy a PATH környezeti változó hasonló ellenőrzést végez-e.

Python 3 esetén először az PYTHON_3_PATH env változót keresi, majd visszavált a PATH környezeti változóra.

Ha csak egy Python-verziót használ, hozzáadhatja a telepítési útvonalat a PATH változóhoz. Ha mindkét verziót a Runbook-feldolgozóban szeretné használni, állítsa be PYTHON_2_PATH és PYTHON_3_PATH állítsa be a modul helyét ezekhez a verziókhoz.

Ismert problémák

Felhőbeli feladatok esetén a Python 3.8-feladatok néha kivételüzenettel invalid interpreter executable pathmeghiúsulnak. Ez a kivétel akkor jelenhet meg, ha a feladat késik, több mint 10 percet kezd, vagy a Start-AutomationRunbook használatával indítja el a Python 3.8 runbookokat. Ha a feladat késik, a runbook újraindításának elegendőnek kell lennie.

Grafikus runbookok

Grafikus és grafikus PowerShell-munkafolyamat-forgatókönyveket az Azure Portal grafikus szerkesztőjével hozhat létre és szerkeszthet. Ezt a runbooktípust azonban nem lehet más eszközzel létrehozni vagy szerkeszteni. A grafikus runbookok fő jellemzői:

  • Az Automation-fiók fájljaiba exportálta, majd egy másik Automation-fiókba importálta.
  • PowerShell-kód létrehozása.
  • Importálás közben grafikus PowerShell-munkafolyamat-runbookokká konvertálva vagy abból.

Előnyök

  • Használjon vizuális beszúrási hivatkozás-konfigurálási szerzői modellt.
  • Összpontosítson arra, hogy az adatok hogyan haladnak végig a folyamaton.
  • Vizuálisan ábrázolja a felügyeleti folyamatokat.
  • A magas szintű munkafolyamatok létrehozásához vegye fel a többi runbookot gyermek runbookként.
  • A moduláris programozás ösztönzése.

Korlátozások

  • Nem hozható létre vagy nem szerkeszthető az Azure Portalon kívül.
  • Összetett logika végrehajtásához szükség lehet egy PowerShell-kódot tartalmazó kódtevékenységre.
  • Nem konvertálható a szövegformátumok egyikére, és nem konvertálhat szöveges runbookokat grafikus formátummá.
  • A grafikus munkafolyamat által létrehozott PowerShell-kód nem tekinthető meg és nem szerkeszthető közvetlenül. A létrehozott kódot bármely kódtevékenységben megtekintheti.
  • A runbookok nem futtathatók linuxos hibrid runbook-feldolgozón. Lásd: Erőforrások automatizálása az adatközpontban vagy a felhőben hibrid runbook-feldolgozó használatával.
  • A grafikus runbookok nem írhatók alá digitálisan.

Következő lépések