Spuštění runbooku ve službě Azure Automation
Následující tabulka vám pomůže určit metodu spuštění runbooku ve službě Azure Automation, která je nejvhodnější pro váš konkrétní scénář. Tento článek obsahuje podrobnosti o spuštění runbooku pomocí webu Azure Portal a windows PowerShellu. Podrobnosti o dalších metodách najdete v další dokumentaci, ke které máte přístup z následujících odkazů.
Metoda | Charakteristiky |
---|---|
Azure Portal | |
Windows PowerShell | |
Azure Automation API | |
Webhooky | |
Reakce na upozornění Azure | |
Plán | |
Z jiného runbooku |
Následující obrázek znázorňuje podrobný podrobný proces v životním cyklu runbooku. Zahrnuje různé způsoby spuštění runbooku ve službě Azure Automation, které komponenty potřebné pro funkci Hybrid Runbook Worker ke spouštění runbooků Azure Automation a interakce mezi různými komponentami. Další informace o spouštění runbooků Automation ve vašem datacentru najdete v tématu Hybridní pracovní procesy runbooků.
Práce s parametry runbooku
Když spustíte runbook z webu Azure Portal nebo Windows PowerShellu, instrukce se odešle prostřednictvím webové služby Azure Automation. Tato služba nepodporuje parametry se složitými datovými typy. Pokud potřebujete zadat hodnotu komplexního parametru, musíte ji volat vloženou z jiného runbooku, jak je popsáno v podřízených runboocích ve službě Azure Automation.
Webová služba Azure Automation poskytuje speciální funkce pro parametry používající určité datové typy, jak je popsáno v následujících částech.
Pojmenované hodnoty
Pokud je parametr datovým typem [object], můžete použít následující formát JSON k odeslání seznamu pojmenovaných hodnot: {Name1:'Value1', Name2:'Value2', Name3:'Value3'}. Tyto hodnoty musí být jednoduché typy. Runbook obdrží parametr jako PSCustomObject s vlastnostmi, které odpovídají každé pojmenované hodnotě.
Zvažte následující testovací runbook, který přijímá parametr s názvem uživatel.
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
}
}
}
Následující text lze použít pro parametr uživatele.
{FirstName:'Joe',LastName:'Smith',RepeatCount:'2',Show:'True'}
Výsledkem je následující výstup:
Joe
Smith
Joe
Smith
Pole
Pokud je parametr pole, například [matice] nebo [řetězec[]], můžete použít následující formát JSON k odeslání seznamu hodnot: [Hodnota1, Hodnota2, Hodnota3]. Tyto hodnoty musí být jednoduché typy.
Zvažte následující testovací runbook, který přijímá parametr s názvem uživatel.
Workflow Test-Parameters
{
param (
[Parameter(Mandatory=$true)][array]$user
)
if ($user[3]) {
foreach ($i in 1..$user[2]) {
$ user[0]
$ user[1]
}
}
}
Následující text lze použít pro parametr uživatele.
["Joe","Smith",2,true]
Výsledkem je následující výstup:
Joe
Smith
Joe
Smith
Přihlašovací údaje
Pokud je parametr datový typPSCredential
, můžete zadat název prostředku přihlašovacích údajů služby Azure Automation. Runbook načte přihlašovací údaje s názvem, který zadáte. Následující testovací runbook přijímá parametr s názvem credential
.
Workflow Test-Parameters
{
param (
[Parameter(Mandatory=$true)][PSCredential]$credential
)
$credential.UserName
}
Následující text lze použít pro parametr uživatele za předpokladu, že existuje asset přihlašovacích údajů volaný My Credential
.
My Credential
Za předpokladu, že uživatelské jméno v přihlašovacích údajích je jsmith
, zobrazí se následující výstup.
jsmith
Spuštění runbooku pomocí webu Azure Portal
- Na webu Azure Portal vyberte Automation a pak vyberte název účtu Automation.
- V levém podokně vyberte Runbooky.
- Na stránce Runbooky vyberte runbook a klepněte na tlačítko Start.
- Pokud má runbook parametry, zobrazí se výzva k zadání hodnot s textovým polem pro každý parametr. Další informace o parametrech najdete v tématu Parametry runbooku.
- V podokně Úloha můžete zobrazit stav úlohy runbooku.
Spuštění runbooku pomocí PowerShellu
Runbook můžete spustit pomocí start-AzAutomationRunbooku pomocí Windows PowerShellu. Následující ukázkový kód spustí runbook s názvem Test-Runbook.
Start-AzAutomationRunbook -AutomationAccountName "MyAutomationAccount" -Name "Test-Runbook" -ResourceGroupName "ResourceGroup01"
Start-AzAutomationRunbook
vrátí objekt úlohy, který můžete použít ke sledování stavu po spuštění runbooku. Tento objekt úlohy pak můžete použít s Get-AzAutomationJob k určení stavu úlohy a Get-AzAutomationJobOutput k načtení výstupu. Následující příklad spustí runbook s názvem Test-Runbook, počká, dokud se nedokončí, a pak zobrazí jeho výstup.
$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
Pokud runbook vyžaduje parametry, musíte je zadat jako hashovací tabulku. Klíč hashovatelné tabulky musí odpovídat názvu parametru a hodnota je hodnota parametru. Následující příklad ukazuje, jak spustit runbook se dvěma řetězcovými parametry s názvem FirstName a LastName, celé číslo s názvem RepeatCount a logickým parametrem s názvem Show. Další informace o parametrech najdete v tématu Parametry runbooku.
$params = @{"FirstName"="Joe";"LastName"="Smith";"RepeatCount"=2;"Show"=$true}
Start-AzAutomationRunbook -AutomationAccountName "MyAutomationAccount" -Name "Test-Runbook" -ResourceGroupName "ResourceGroup01" -Parameters $params
Další kroky
- Podrobnosti o správě runbooků najdete v tématu Správa runbooků ve službě Azure Automation.
- Podrobnosti o PowerShellu najdete v dokumentaci k PowerShellu.
- Informace o řešení potíží se spouštěním runbooků najdete v tématu Řešení potíží s runbooky.