Typy elementów Runbook usługi Azure Automation

Funkcja automatyzacji procesów usługi Azure Automation obsługuje kilka typów elementów Runbook zgodnie z definicją w poniższej tabeli. Aby dowiedzieć się więcej o środowisku automatyzacji procesów, zobacz Wykonywanie elementu Runbook w usłudze Azure Automation.

Type Opis
Program PowerShell Tekstowy element Runbook oparty na skryptach programu Windows PowerShell. Obecnie obsługiwane wersje to: PowerShell 7.2 (GA) i PowerShell 5.1 (GA). Ponieważ program PowerShell 7.1 nie jest już obsługiwany przez produkt nadrzędny PowerShell, zalecamy utworzenie elementów Runbook w długoterminowej obsługiwanej wersji programu PowerShell 7.2
Przepływ pracy programu PowerShell Tekstowy element Runbook oparty na skryptach przepływu pracy programu Windows PowerShell.
Python Tekstowy element Runbook oparty na skryptach języka Python. Obecnie obsługiwane wersje to: Python 3.8 (GA) i Python 3.10 (wersja zapoznawcza). Ponieważ język Python 2.7 nie jest już obsługiwany przez produkt nadrzędny Python, zalecamy utworzenie elementów Runbook w długoterminowych obsługiwanych wersjach.
Element graficzny Graficzny element Runbook oparty na programie Windows PowerShell i utworzony i edytowany całkowicie w edytorze graficznym w witrynie Azure Portal.
Graficzny przepływ pracy programu PowerShell Graficzny element Runbook oparty na przepływie pracy programu Windows PowerShell i utworzony i edytowany całkowicie w edytorze graficznym w witrynie Azure Portal.

Uwaga

Usługa Azure Automation będzie postępować zgodnie z cyklem życia pomocy technicznej wersji programu PowerShell i języka Python zgodnie z osiami czasu opublikowanymi odpowiednio przez produkty nadrzędne programu PowerShell i języka Python . Zalecamy używanie elementów Runbook z obsługiwanymi wersjami językowymi.

Podczas określania typu używanego dla określonego elementu Runbook należy wziąć pod uwagę następujące kwestie.

  • Nie można konwertować elementów Runbook z graficznego na typ tekstu ani w inny sposób.
  • Istnieją ograniczenia dotyczące używania elementów Runbook różnych typów jako podrzędnych elementów Runbook. Aby uzyskać więcej informacji, zobacz Podrzędne elementy Runbook w usłudze Azure Automation.

Elementy runbook programu PowerShell

Elementy Runbook programu PowerShell są oparte na programie Windows PowerShell. Kod elementu Runbook można edytować bezpośrednio przy użyciu edytora tekstów w witrynie Azure Portal. Możesz również użyć dowolnego edytora tekstu w trybie offline i zaimportować element Runbook do usługi Azure Automation.

Wersja programu PowerShell jest określana przez określoną wersję środowiska uruchomieniowego (7.2, 7.1 (wersja zapoznawcza) lub 5.1.

Ta sama piaskownica platformy Azure i hybrydowy proces roboczy elementu Runbook mogą wykonywać wiele elementów Runbook programu PowerShell przeznaczonych dla różnych wersji środowiska uruchomieniowego obok siebie.

Uwaga

  • Obecnie wersja środowiska uruchomieniowego programu PowerShell 7.2 jest obsługiwana zarówno w przypadku zadań chmurowych, jak i hybrydowych we wszystkich regionach publicznych, z wyjątkiem Indii Centralnych, Środkowych Emiratów Zjednoczonych, Izraela Środkowego, Włoch Północnych, Niemiec Północnych i Chmur Gov.
  • W momencie wykonywania elementu Runbook, jeśli wybierzesz wersję środowiska uruchomieniowego jako 7.2, używane są moduły programu PowerShell przeznaczone dla wersji środowiska uruchomieniowego 7.2, a jeśli wybierzesz wersję środowiska uruchomieniowego 5.1, używane są moduły programu PowerShell przeznaczone dla wersji środowiska uruchomieniowego 5.1. Dotyczy to modułów i elementów Runbook programu PowerShell 7.1 (wersja zapoznawcza).

Upewnij się, że wybrano odpowiednią wersję środowiska uruchomieniowego dla modułów.

Na przykład: jeśli wykonujesz element Runbook dla scenariusza automatyzacji programu SharePoint w środowisku uruchomieniowym w wersji7.1 (wersja zapoznawcza), zaimportuj moduł w wersji 7.1 (wersja zapoznawcza); jeśli wykonujesz element Runbook dla scenariusza automatyzacji programu SharePoint w środowisku uruchomieniowym w wersji 5.1, zaimportuj moduł w środowisku uruchomieniowym w wersji5.1. W takim przypadku zobaczysz dwa wpisy dla modułu: jeden dla środowiska uruchomieniowego w wersji7.1 (wersja zapoznawcza) i drugi dla wersji 5.1.

runbook Types.

Uwaga

Obecnie obsługiwane są program PowerShell 5.1, program PowerShell 7.1 (wersja zapoznawcza) i program PowerShell 7.2.

Zalety

  • Zaimplementuj całą złożoną logikę przy użyciu kodu programu PowerShell bez innych złożoności przepływu pracy programu PowerShell.
  • Uruchom szybciej niż elementy Runbook przepływu pracy programu PowerShell, ponieważ nie trzeba ich kompilować przed uruchomieniem.
  • Uruchamianie na platformie Azure i w hybrydowych procesach roboczych elementów Runbook dla systemów Windows i Linux.

Ograniczenia i znane problemy

Poniżej przedstawiono bieżące ograniczenia i znane problemy z elementami Runbook programu PowerShell:

Ograniczenia

Uwaga

Obecnie wersja środowiska uruchomieniowego programu PowerShell 7.2 jest obsługiwana zarówno w przypadku zadań chmurowych, jak i hybrydowych we wszystkich regionach publicznych, z wyjątkiem Indii Centralnych, Środkowych Emiratów Zjednoczonych, Izraela Środkowego, Włoch Północnych, Niemiec Północnych i Chmur Gov.

  • W przypadku wersji środowiska uruchomieniowego programu PowerShell 7.2 działania modułu nie są wyodrębniane dla zaimportowanych modułów. Użyj rozszerzenia usługi Azure Automation dla programu VS Code , aby uprościć środowisko tworzenia elementów Runbook.
  • Program PowerShell 7.x nie obsługuje przepływów pracy. Aby uzyskać więcej informacji, zobacz Przepływ pracy programu PowerShell, aby uzyskać więcej szczegółów.
  • Program PowerShell 7.x obecnie nie obsługuje podpisanych elementów Runbook.
  • Integracja kontroli źródła nie obsługuje programu PowerShell 7.2. Ponadto elementy Runbook programu PowerShell 7.2 w kontroli źródła są tworzone na koncie usługi Automation jako środowisko uruchomieniowe 5.1.
  • Moduł Az 8.3.0 jest instalowany domyślnie. Pełną listę modułów składników wybranej wersji modułu Az jest wyświetlana po ponownym skonfigurowaniu wersji modułu Az przy użyciu witryny Azure Portal lub interfejsu API.
  • Zaimportowany moduł programu PowerShell 7.2 zostanie zweryfikowany podczas wykonywania zadania. Upewnij się, że wszystkie zależności dla wybranego modułu są również importowane do pomyślnego wykonania zadania.
  • Element Runbook platformy Azure nie obsługuje Start-Job polecenia -credential.
  • Platforma Azure nie obsługuje wszystkich parametrów wejściowych programu PowerShell. Dowiedz się więcej.

Znane problemy

  • Elementy Runbook zależne od ścieżek plików wewnętrznych, takie jak C:\modules mogą zakończyć się niepowodzeniem z powodu zmian w infrastrukturze zaplecza usługi. Zmień kod elementu Runbook, aby upewnić się, że nie ma zależności od ścieżek plików wewnętrznych i użyj polecenia Get-ChildItem , aby uzyskać wymagane informacje o module.

  • Get-AzStorageAccountPolecenie cmdlet może zakończyć się niepowodzeniem z powodu błędu: Get-AzStorageAccount polecenie zostało znalezione w module Az.Storage, ale nie można załadować modułu.

  • Wykonywanie skryptów podrzędnych przy użyciu .\child-runbook.ps1 polecenia nie jest obsługiwane.
    Obejście: użyj Start-AutomationRunbook (wewnętrznego polecenia cmdlet) lub Start-AzAutomationRunbook (z modułu Az.Automation ), aby uruchomić inny element Runbook z nadrzędnego elementu Runbook.

  • W przypadku korzystania z modułu ExchangeOnlineManagement w wersji 3.0.0 lub nowszej można napotkać błędy. Aby rozwiązać ten problem, upewnij się, że jawnie przekażesz moduły PowerShellGet i PackageManagement .

  • Jeśli używasz New-AzAutomationVariable polecenia cmdlet w module Az.Automation do przekazania zmiennej typu obiektu, operacja nie działa zgodnie z oczekiwaniami.

    Obejście: Przekonwertuj obiekt na ciąg JSON przy użyciu polecenia cmdlet ConvertTo-Json, a następnie przekaż zmienną z ciągiem JSON jako jego wartością. To obejście zapewnia prawidłową obsługę zmiennej w środowisku usługi Azure Automation jako ciąg JSON.

    Przykład — tworzenie obiektu programu PowerShell, który zawiera informacje dotyczące maszyn wirtualnych platformy 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 
    

Elementy Runbook przepływu pracy programu PowerShell

Elementy Runbook przepływu pracy programu PowerShell to elementy runbook tekstowe oparte na przepływie pracy programu Windows PowerShell. Kod elementu Runbook można edytować bezpośrednio przy użyciu edytora tekstów w witrynie Azure Portal. Możesz również użyć dowolnego edytora tekstu w trybie offline i zaimportować element Runbook do usługi Azure Automation.

Uwaga

Program PowerShell 7.1 (wersja zapoznawcza) i program PowerShell 7.2 nie obsługują elementów Runbook przepływu pracy.

Zalety

  • Zaimplementuj całą złożoną logikę za pomocą kodu przepływu pracy programu PowerShell.
  • Użyj punktów kontrolnych , aby wznowić operację, jeśli wystąpi błąd.
  • Przetwarzanie równoległe umożliwia równoległe wykonywanie wielu akcji.
  • Może zawierać inne graficzne elementy Runbook i elementy Runbook przepływu pracy programu PowerShell jako podrzędne elementy Runbook w celu tworzenia przepływów pracy wysokiego poziomu.

Ograniczenia

  • Musisz zapoznać się z przepływem pracy programu PowerShell.
  • Elementy Runbook muszą zajmować się dodatkową złożonością przepływu pracy programu PowerShell, na przykład zdeserializowanymi obiektami.
  • Uruchamianie elementów Runbook trwa dłużej niż w przypadku elementów Runbook programu PowerShell, ponieważ należy je skompilować przed uruchomieniem.
  • Elementy Runbook programu PowerShell można dołączać tylko jako podrzędne elementy Runbook przy użyciu Start-AzAutomationRunbook polecenia cmdlet .
  • Elementy Runbook nie mogą działać w hybrydowym procesie roboczym elementu Runbook systemu Linux.

Elementy Runbook języka Python

Elementy Runbook języka Python są kompilowane w językach Python 2.7(GA), Python 3.8 (GA) i Python 3.10 (wersja zapoznawcza). Kod elementu Runbook można edytować bezpośrednio przy użyciu edytora tekstów w witrynie Azure Portal. Możesz również użyć edytora tekstów w trybie offline i zaimportować element Runbook do usługi Azure Automation.

Obecnie wersja środowiska uruchomieniowego języka Python 3.10 (wersja zapoznawcza) jest obsługiwana zarówno w przypadku zadań chmurowych, jak i hybrydowych we wszystkich regionach publicznych, z wyjątkiem Australii Środkowej2, Korei Południowej, Szwecji Południowej, Jio Indiach Środkowych, Brazylii Południowej, Indiach Środkowych, Indiach Zachodnich, Środkowych Emiratach Zjednoczonych i Chmurach gov.

Zalety

Uwaga

Importowanie pakietu języka Python może potrwać kilka minut.

  • Używa niezawodnych bibliotek języka Python.
  • Można uruchamiać na platformie Azure lub w hybrydowych procesach roboczych elementów Runbook.
  • W przypadku języka Python 2.7 hybrydowe procesy robocze elementu Runbook systemu Windows są obsługiwane z zainstalowanym językiem Python 2.7 .
  • W przypadku zadań w chmurze języka Python 3.8 obsługiwana jest wersja języka Python 3.8. Skrypty i pakiety z dowolnej wersji 3.x mogą działać, jeśli kod jest zgodny w różnych wersjach.
  • W przypadku zadań hybrydowych języka Python 3.8 na maszynach z systemem Windows możesz zainstalować dowolną wersję 3.x, której chcesz użyć.
  • W przypadku zadań hybrydowych języka Python 3.8 na maszynach z systemem Linux zależymy od wersji 3 języka Python zainstalowanej na maszynie w celu uruchomienia konfiguracji DSC OMSConfig i hybrydowego procesu roboczego systemu Linux. Różne wersje powinny działać, jeśli nie ma żadnych zmian powodujących niezgodność w podpisach metody lub kontraktach między wersjami języka Python 3.

Ograniczenia

Poniżej przedstawiono ograniczenia elementów Runbook języka Python

  • Obecnie w przypadku modułów języka Python 3.10 (wersja zapoznawcza) obsługiwane są tylko pliki koła przeznaczone dla systemu operacyjnego cp310 Linux. Dowiedz się więcej
  • Integracja kontroli źródła nie jest obsługiwana.
  • Pakiety niestandardowe dla języka Python 3.10 (wersja zapoznawcza) są weryfikowane tylko podczas wykonywania zadania. Zadanie ma zakończyć się niepowodzeniem, jeśli pakiet nie jest zgodny ze środowiskiem uruchomieniowym lub jeśli wymagane zależności pakietów nie są importowane na konto automatyzacji.
  • Obecnie elementy Runbook języka Python 3.10 (wersja zapoznawcza) są obsługiwane tylko w witrynie Azure Portal. Interfejs API REST i program PowerShell nie są obsługiwane.

Wiele wersji języka Python

Dotyczy to hybrydowych procesów roboczych systemu Windows. W przypadku procesu roboczego elementu Runbook systemu Windows podczas uruchamiania elementu Runbook języka Python 2 najpierw wyszukuje zmienną PYTHON_2_PATH środowiskową i sprawdza, czy wskazuje prawidłowy plik wykonywalny. Jeśli na przykład folder instalacyjny to C:\Python2, sprawdź, czy C:\Python2\python.exe jest prawidłową ścieżką. Jeśli nie zostanie znaleziona, szuka zmiennej środowiskowej PATH w celu wykonania podobnego sprawdzenia.

W przypadku języka Python 3 najpierw szuka zmiennej PYTHON_3_PATH env, a następnie wraca do zmiennej środowiskowej PATH .

W przypadku używania tylko jednej wersji języka Python można dodać ścieżkę instalacji do zmiennej PATH . Jeśli chcesz użyć obu wersji procesu roboczego elementu Runbook, ustaw PYTHON_2_PATH i PYTHON_3_PATH na lokalizację modułu dla tych wersji.

Znane problemy

W przypadku zadań w chmurze zadania języka Python 3.8 czasami kończą się niepowodzeniem z komunikatem invalid interpreter executable patho wyjątku . Ten wyjątek może wystąpić, jeśli zadanie jest opóźnione, począwszy od ponad 10 minut lub przy użyciu elementu Start-AutomationRunbook w celu uruchomienia elementów Runbook języka Python 3.8. Jeśli zadanie zostanie opóźnione, ponowne uruchomienie elementu Runbook powinno być wystarczające.

Graficzne elementy runbook

Elementy Runbook przepływu pracy programu PowerShell można tworzyć i edytować przy użyciu edytora graficznego w witrynie Azure Portal. Nie można jednak utworzyć ani edytować tego typu elementu Runbook za pomocą innego narzędzia. Główne funkcje graficznych elementów Runbook:

  • Wyeksportowane do plików na koncie usługi Automation, a następnie zaimportowane do innego konta usługi Automation.
  • Generowanie kodu programu PowerShell.
  • Przekonwertowane na lub z graficznych elementów runbook przepływu pracy programu PowerShell podczas importowania.

Zalety

  • Użyj modelu tworzenia wstawiania linków do wizualizacji.
  • Skoncentruj się na tym, jak dane przepływają przez proces.
  • Wizualnie reprezentują procesy zarządzania.
  • Dołącz inne elementy Runbook jako podrzędne elementy Runbook do tworzenia przepływów pracy wysokiego poziomu.
  • Zachęcaj do programowania modułowego.

Ograniczenia

  • Nie można utworzyć ani edytować poza witryną Azure Portal.
  • Może wymagać działania kodu zawierającego kod programu PowerShell w celu wykonania złożonej logiki.
  • Nie można przekonwertować na jeden z formatów tekstu ani przekonwertować elementu runbook tekstu na format graficzny.
  • Nie można wyświetlić ani bezpośrednio edytować kodu programu PowerShell tworzonego przez graficzny przepływ pracy. Możesz wyświetlić kod tworzony w dowolnych działaniach kodu.
  • Nie można uruchamiać elementów Runbook w hybrydowym procesie roboczym elementu Runbook systemu Linux. Zobacz Automatyzowanie zasobów w centrum danych lub chmurze przy użyciu hybrydowego procesu roboczego elementu Runbook.
  • Graficzne elementy Runbook nie mogą być podpisane cyfrowo.

Następne kroki