Uruchamianie elementu runbook w usłudze Azure Automation
Poniższa tabela ułatwia określenie metody uruchamiania elementu Runbook w usłudze Azure Automation, który jest najbardziej odpowiedni dla konkretnego scenariusza. Ten artykuł zawiera szczegółowe informacje na temat uruchamiania elementu Runbook w witrynie Azure Portal oraz programu Windows PowerShell. Szczegółowe informacje na temat innych metod znajdują się w innej dokumentacji, do której można uzyskać dostęp z poniższych linków.
Metoda | Charakterystyka |
---|---|
Witryna Azure Portal | |
Windows PowerShell | |
Azure Automation API | |
Elementy webhook | |
Reagowanie na alert platformy Azure | |
Zaplanuj | |
Z innego elementu Runbook |
Na poniższej ilustracji przedstawiono szczegółowy proces krok po kroku w cyklu życia elementu Runbook. Zawiera różne sposoby uruchamiania elementu Runbook w usłudze Azure Automation, które składniki wymagane do hybrydowego procesu roboczego elementu Runbook do wykonywania elementów Runbook usługi Azure Automation i interakcji między różnymi składnikami. Aby dowiedzieć się więcej o wykonywaniu elementów Runbook usługi Automation w centrum danych, zapoznaj się z hybrydowymi procesami roboczymi elementów Runbook
Praca z parametrami elementu Runbook
Po uruchomieniu elementu runbook z witryny Azure Portal lub programu Windows PowerShell instrukcja jest wysyłana za pośrednictwem usługi internetowej Azure Automation. Ta usługa nie obsługuje parametrów ze złożonymi typami danych. Jeśli musisz podać wartość dla złożonego parametru, musisz wywołać go w tekście z innego elementu Runbook zgodnie z opisem w temacie Podrzędne elementy Runbook w usłudze Azure Automation.
Usługa internetowa usługi Azure Automation udostępnia specjalne funkcje dla parametrów korzystających z określonych typów danych zgodnie z opisem w poniższych sekcjach.
Nazwane wartości
Jeśli parametr jest typem danych [object], możesz użyć następującego formatu JSON, aby wysłać do niego listę nazwanych wartości: {Name1:'Value1', Name2:'Value2', Name3:'Value3'}. Te wartości muszą być typu prostego. Element Runbook odbiera parametr jako obiekt PSCustomObject z właściwościami odpowiadającymi każdej nazwanej wartości.
Rozważmy następujący tekstowy element Runbook, który akceptuje parametr o nazwie user.
Workflow Test-Parameters
{
param (
[Parameter(Mandatory=$true)][object]$user
)
$userObject = $user | ConvertFrom-JSON
if ($userObject.Show) {
foreach ($i in 1..$userObject.RepeatCount) {
$userObject.FirstName
$userObject.LastName
}
}
}
Poniższego tekstu można użyć jako parametru user.
{FirstName:'Joe',LastName:'Smith',RepeatCount:'2',Show:'True'}
Spowoduje to wykonanie następujących danych wyjściowych:
Joe
Smith
Joe
Smith
Tablice
Jeśli parametr jest tablicą, taką jak [array] lub [string[]], możesz użyć następującego formatu JSON, aby wysłać do niego listę wartości: [Value1, Value2, Value3]. Te wartości muszą być typu prostego.
Rozważmy następujący tekstowy element Runbook, który akceptuje parametr o nazwie user.
Workflow Test-Parameters
{
param (
[Parameter(Mandatory=$true)][array]$user
)
if ($user[3]) {
foreach ($i in 1..$user[2]) {
$ user[0]
$ user[1]
}
}
}
Poniższego tekstu można użyć jako parametru user.
["Joe","Smith",2,true]
Spowoduje to wykonanie następujących danych wyjściowych:
Joe
Smith
Joe
Smith
Referencja
Jeśli parametr jest typem PSCredential
danych, możesz podać nazwę zasobu poświadczeń usługi Azure Automation. Element Runbook pobiera poświadczenie o określonej nazwie. Poniższy testowy element Runbook akceptuje parametr o nazwie credential
.
Workflow Test-Parameters
{
param (
[Parameter(Mandatory=$true)][PSCredential]$credential
)
$credential.UserName
}
Poniższy tekst może służyć do parametru użytkownika przy założeniu, że istnieje zasób poświadczeń o nazwie My Credential
.
My Credential
Przy założeniu, że nazwa użytkownika w poświadczeniu to jsmith
, zostaną wyświetlone następujące dane wyjściowe.
jsmith
Uruchamianie elementu Runbook za pomocą witryny Azure Portal
- W witrynie Azure Portal wybierz pozycję Automation , a następnie wybierz nazwę konta usługi Automation.
- W okienku po lewej stronie wybierz pozycję Elementy Runbook.
- Na stronie Elementy Runbook wybierz element Runbook, a następnie kliknij przycisk Start.
- Jeśli element Runbook ma parametry, zostanie wyświetlony monit o podanie wartości z polem tekstowym dla każdego parametru. Aby uzyskać więcej informacji na temat parametrów, zobacz Parametry elementu Runbook.
- W okienku Zadanie można wyświetlić stan zadania elementu Runbook.
Uruchamianie elementu Runbook przy użyciu programu PowerShell
Aby uruchomić element runbook za pomocą programu Windows PowerShell, możesz użyć polecenia Start-AzAutomationRunbook . Poniższy przykładowy kod uruchamia element Runbook o nazwie Test-Runbook.
Start-AzAutomationRunbook -AutomationAccountName "MyAutomationAccount" -Name "Test-Runbook" -ResourceGroupName "ResourceGroup01"
Start-AzAutomationRunbook
Zwraca obiekt zadania, którego można użyć do śledzenia stanu po uruchomieniu elementu Runbook. Następnie można użyć tego obiektu zadania z poleceniem Get-AzAutomationJob , aby określić stan zadania i polecenie Get-AzAutomationJobOutput w celu pobrania jego danych wyjściowych. Poniższy przykład uruchamia element Runbook o nazwie Test-Runbook, czeka na jego zakończenie, a następnie wyświetla jego dane wyjściowe.
$runbookName = "Test-Runbook"
$ResourceGroup = "ResourceGroup01"
$AutomationAcct = "MyAutomationAccount"
$job = Start-AzAutomationRunbook -AutomationAccountName $AutomationAcct -Name $runbookName -ResourceGroupName $ResourceGroup
$doLoop = $true
While ($doLoop) {
$job = Get-AzAutomationJob -AutomationAccountName $AutomationAcct -Id $job.JobId -ResourceGroupName $ResourceGroup
$status = $job.Status
$doLoop = (($status -ne "Completed") -and ($status -ne "Failed") -and ($status -ne "Suspended") -and ($status -ne "Stopped"))
}
Get-AzAutomationJobOutput -AutomationAccountName $AutomationAcct -Id $job.JobId -ResourceGroupName $ResourceGroup -Stream Output
Jeśli element Runbook wymaga parametrów, musisz podać je jako tabelę skrótu. Klucz tabeli skrótu musi być zgodny z nazwą parametru, a wartość jest wartością parametru. Poniższy przykład przedstawia sposób uruchamiania elementu Runbook z dwoma parametrami będącymi ciągami o nazwie FirstName i LastName, liczbą całkowitą o nazwie RepeatCount i parametrem logicznym o nazwie Show. Aby uzyskać więcej informacji na temat parametrów, zobacz Parametry elementu Runbook.
$params = @{"FirstName"="Joe";"LastName"="Smith";"RepeatCount"=2;"Show"=$true}
Start-AzAutomationRunbook -AutomationAccountName "MyAutomationAccount" -Name "Test-Runbook" -ResourceGroupName "ResourceGroup01" -Parameters $params
Następne kroki
- Aby uzyskać szczegółowe informacje na temat zarządzania elementami Runbook, zobacz Zarządzanie elementami Runbook w usłudze Azure Automation.
- Aby uzyskać szczegółowe informacje na temat programu PowerShell, zobacz PowerShell Docs.
- Aby rozwiązać problemy z wykonywaniem elementu Runbook, zobacz Rozwiązywanie problemów z elementem Runbook.