Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Funkcja automatyzacji procesów usługi Azure Automation obsługuje kilka typów runbooków, jak określono w poniższej tabeli.
| Typ | Opis |
|---|---|
|
PowerShell (zalecane) |
Tekstowy Runbook oparty na skryptach Windows PowerShell. Obecnie obsługiwane wersje to PowerShell 7.4 i PowerShell 5.1. Ponieważ PowerShell 7.1 i 7.2 nie są już obsługiwane przez nadrzędny PowerShell, zalecamy utworzenie runbooków w wersji długoterminowej obsługi PowerShell 7.4. |
| Przepływ pracy programu PowerShell | Tekstowa książka robocza oparta na skryptach programu Windows PowerShell Workflow. |
|
Pyton (zalecane) |
Tekstowy podręcznik operacyjny oparty na skryptach języka Python. Obecnie obsługiwana wersja to Python 3.10. Ponieważ języki Python 2.7 i Python 3.8 nie są już obsługiwane przez produkt nadrzędny Python, zalecamy utworzenie elementów Runbook w języku Python 3.10. |
| Graficzny | Graficzny runbook oparty na platformie Windows PowerShell, utworzony i edytowany całkowicie w edytorze graficznym w Azure Portal. |
| Graficzny przepływ pracy programu PowerShell | Graficzny runbook oparty na przepływie pracy Windows PowerShell i utworzony oraz edytowany całkowicie w edytorze graficznym w Portalu Azure. |
Aby dowiedzieć się więcej o środowisku automatyzacji procesów, przeczytaj wykonywanie Runbooka w usłudze Azure Automation.
Uwaga
Usługa Azure Automation będzie postępować zgodnie z cyklem wsparcia dla wersji programu PowerShell i języka Python zgodnie z osiami czasu opublikowanymi odpowiednio przez produkty nadrzędne, program PowerShell i język Python. Zalecamy używanie runbooków z obsługiwanymi wersjami językowymi.
Podczas określania, jakiego typu użyć dla danego runbooka, 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 runbooków różnych typów jako podrzędnych runbooków. Aby uzyskać więcej informacji, zobacz Runbooki dla dzieci w usłudze Azure Automation.
Runbooki programu PowerShell
Runbooki PowerShell są oparte na 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 .
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.4 jest obsługiwana zarówno w przypadku zadań chmurowych, jak i hybrydowych we wszystkich regionach publicznych, z wyjątkiem chmur Brazylii Południowo-Wschodniej i Gov.
- W momencie wykonywania elementu Runbook, jeśli wybierzesz wersję środowiska uruchomieniowego jako 7.4, używane są moduły programu PowerShell przeznaczone dla wersji środowiska uruchomieniowego 7.4 i jeśli wybierzesz wersję środowiska uruchomieniowego5.1, używane są moduły programu PowerShell przeznaczone dla wersji środowiska uruchomieniowego 5.1.
Upewnij się, że wybrano odpowiednią wersję środowiska uruchomieniowego dla modułów.
Na przykład: Jeśli wykonujesz runbook dla scenariusza automatyzacji SharePoint w środowisku uruchomieniowym w wersji 7.4, zaimportuj moduł w środowisku uruchomieniowym w wersji 7.4; jeśli wykonujesz runbook dla scenariusza automatyzacji SharePoint w środowisku uruchomieniowym w wersji 5.1, zaimportuj moduł w środowisku uruchomieniowym w wersji 5.1.
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.
- Uruchamiaj na platformie Azure oraz na hybrydowych pracownikach Runbook zarówno dla systemów Windows, jak 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.4 jest obsługiwana zarówno w przypadku zadań chmurowych, jak i hybrydowych we wszystkich regionach publicznych, z wyjątkiem chmur Brazylii Południowo-Wschodniej i Gov.
- Program PowerShell 7.4 jest dostępny tylko w środowisku środowiska uruchomieniowego.
- W przypadku wersji środowiska uruchomieniowego programu PowerShell 7.4 działania modułu nie są wyodrębniane dla zaimportowanych modułów. Użyj rozszerzenia Azure Automation dla programu VS Code, aby uprościć doświadczenie tworzenia runbooków.
- 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 runbooków.
- Integracja kontroli źródła nie obsługuje programu PowerShell 7.4. Ponadto runbooki PowerShell 7.4 w ramach kontroli źródła są tworzone na koncie usługi Automation jako środowisko uruchomieniowe wersji 5.1.
- Moduł Az 12.3.0 jest instalowany domyślnie. Pełna lista modułów składowych wybranej wersji modułu Az jest wyświetlana po ponownym skonfigurowaniu wersji modułu Az przy użyciu portalu Azure lub interfejsu API.
- Zaimportowany moduł programu PowerShell 7.4 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.
- Runbook platformy Azure nie obsługuje
Start-Jobz-credential. - Platforma Azure nie obsługuje wszystkich parametrów wejściowych programu PowerShell. Dowiedz się więcej.
Znane problemy
Runbooki zależne od wewnętrznych ścieżek plików, takich jak
C:\modules, mogą ulec awarii 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-AzStorageAccountpolecenie zostało znalezione w moduleAz.Storage, ale nie można załadować modułu.Wykonywanie skryptów dzieci przy użyciu
.\child-runbook.ps1nie jest obsługiwane.
Obejście: użyjStart-AutomationRunbook(wewnętrznego polecenia cmdlet) lubStart-AzAutomationRunbook(z modułu Az.Automation), aby uruchomić inny Runbook z nadrzędnego Runbooka.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 załadujesz moduły PowerShellGet i PackageManagement.
Jeśli używasz
New-AzAutomationVariablepolecenia cmdlet w module Az.Automation do przekazania zmiennej typu object, 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
azurepowershell # 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
Runbooki przepływu pracy 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
PowerShell 7.1 (wersja zapoznawcza) i 7.2 nie obsługują runbooków 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.
- Użyj przetwarzania równoległego do równoległego wykonywania wielu działań.
- Może zawierać inne graficzne runbooki oraz runbooki przepływu pracy PowerShell jako podrzędne runbooki w celu tworzenia zaawansowanych przepływów pracy.
Ograniczenia
- Przepływ pracy programu PowerShell nie jest obsługiwany w wersjach programu PowerShell 7 lub nowszych. W związku z tym przestarzałe runbooki nie mogą być zaktualizowane.
- Nieefektywna obsługa równoległego wykonywania w porównaniu z nowszymi wersjami programu PowerShell 7 lub nowszych.
- Przepływ pracy programu PowerShell działa wewnętrznie przy użyciu wielu procesów. W związku z tym moduły dostępne w jednym procesie mogą nie być dostępne w innym i powodować wyjątki, takie jak nie znaleziono polecenia.
- 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-AzAutomationRunbookpolecenia cmdlet . - Runbooki nie mogą działać na hybrydowym pracowniku Runbook systemu Linux.
Elementy Runbook języka Python
Runbooki Pythona kompilują się w Pythonie 3.10. 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. Python 2.7 i Python 3.8 nie są już obsługiwane przez produkt macierzysty, i zaleca się tworzenie runbooków w wersji środowiska uruchomieniowego Python 3.10.
Obecnie wersja środowiska uruchomieniowego języka Python 3.10 jest obsługiwana zarówno w przypadku zadań chmurowych, jak i hybrydowych we wszystkich regionach publicznych, z wyjątkiem chmur Brazylii Południowo-Wschodniej i Gov.
Zalety
Uwaga
Importowanie pakietu języka Python może potrwać kilka minut.
- Używa niezawodnych bibliotek języka Python.
- Można uruchamiać w Azure lub na Hybrydowych Pracownikach Runbook.
- 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.10 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.10 na maszynach z systemem Linux polegamy na wersji Python 3 zainstalowanej na maszynie do uruchamiania DSC OMSConfig oraz Hybrydowego Workera Linuksa. Różne wersje powinny działać, jeśli nie ma żadnych zmian powodujących problemy z kompatybilnością w podpisach metod lub kontraktach między kolejnymi wersjami języka Python 3.
Ograniczenia
Ograniczenia runbooków Python to:
- Obecnie w przypadku modułów języka Python 3.10 obsługiwane są tylko pliki wheel przeznaczone dla systemu operacyjnego Linux na platformie cp310. Dowiedz się więcej
- Integracja kontroli źródła nie jest obsługiwana.
- Pakiety niestandardowe dla języka Python 3.10 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 runbooki Pythona 3.10 są obsługiwane tylko z poziomu portalu Azure oraz API REST.
Uwaga
Używanie webhooka do uruchamiania runbooka w języku Python nie jest obsługiwane.
Wiele wersji języka Python
Dotyczy pracowników hybrydowych korzystających z systemu Windows. W przypadku pracy Windows Runbook Worker, podczas uruchamiania Runbook w języku Python 2, najpierw wyszukuje zmienną środowiskową PYTHON_2_PATH i weryfikuje, czy wskazuje na 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 na Runbook Worker, ustaw PYTHON_2_PATH i PYTHON_3_PATH na lokalizację modułu odpowiedniego dla tych wersji.
Znane problemy
W przypadku zadań w chmurze zadania języka Python 3.8 czasami kończą się niepowodzeniem z komunikatem o wyjątku invalid interpreter executable path. 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 runbooków:
- 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 graficzne runbooki przepływu pracy PowerShell lub z nich podczas importu.
Zalety
- Użyj wizualnego modelu tworzenia, wstawiania i konfigurowania linków.
- 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 tekstowych, a także nie można przekonwertować runbooka tekstowego 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 każdym działaniu kodowym.
- Nie można uruchamiać elementów Runbook w hybrydowym procesie roboczym elementu Runbook systemu Linux. Zobacz Jak zautomatyzować zasoby w centrum danych lub w chmurze za pomocą Hybrydowego Agenta Runbook.
- Graficzne runbooki nie mogą być podpisane cyfrowo.
Następne kroki
- Aby dowiedzieć się więcej o elementach Runbook programu PowerShell, zobacz Samouczek: tworzenie elementu Runbook programu PowerShell.
- Aby dowiedzieć się więcej o runbookach przepływu pracy programu PowerShell, zobacz Samouczek: tworzenie runbooka przepływu pracy programu PowerShell.
- Aby dowiedzieć się więcej o graficznych runbookach, zobacz Samouczek: tworzenie graficznego runbooka.
- Aby dowiedzieć się więcej o runbookach języka Python, zobacz Samouczek: Tworzenie runbooka języka Python.