Runbook indítása az Azure Automationben
Az alábbi táblázat segítséget nyújt annak meghatározásában, hogyan indíthat el egy runbookot az Azure Automationben, amely a legmegfelelőbb az adott forgatókönyvhöz. Ez a cikk az Azure Portalon és a Windows PowerShell-lel futtatott runbookok indításának részleteit tartalmazza. A többi módszer részleteit az alábbi hivatkozásokon elérhető egyéb dokumentációban találja.
Módszer | Jellemzők |
---|---|
Azure Portalra | |
Windows PowerShell | |
Azure Automation API | |
Webhookok | |
Válasz az Azure Alertre | |
Ütemezés | |
Másik runbookból |
Az alábbi képen részletes részletes folyamat látható egy runbook életciklusában. A forgatókönyvek különböző módokon indulnak el az Azure Automationben, amelyek az Azure Automation-runbookok végrehajtásához szükséges hibrid runbook-feldolgozókhoz, valamint a különböző összetevők közötti interakciókhoz szükségesek. Az Automation-runbookok adatközpontban való végrehajtásának megismeréséhez tekintse meg a hibrid runbook-feldolgozókat
Runbook-paraméterek használata
Amikor elindít egy runbookot az Azure Portalról vagy a Windows PowerShellből, az utasítás az Azure Automation webszolgáltatáson keresztül lesz elküldve. Ez a szolgáltatás nem támogatja az összetett adattípusokkal rendelkező paramétereket. Ha egy összetett paraméter értékét kell megadnia, akkor azt egy másik runbookból kell beágyazottnak hívnia az Azure Automation gyermek runbookjaiban leírtak szerint.
Az Azure Automation webszolgáltatás speciális funkciókat biztosít bizonyos adattípusokat használó paraméterekhez az alábbi szakaszokban leírtak szerint.
Névvel ellátott értékek
Ha a paraméter adattípus [objektum], akkor a következő JSON-formátummal elküldheti neki a névvel ellátott értékek listáját: {Name1:'Value1', Name2:'Value2', Name3:'Value3'}. Ezeknek az értékeknek egyszerű típusoknak kell lenniük. A runbook PSCustomObjectként fogadja a paramétert az egyes elnevezett értékeknek megfelelő tulajdonságokkal.
Fontolja meg a következő teszt runbookot, amely egy felhasználó nevű paramétert fogad el.
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
}
}
}
A felhasználói paraméterhez a következő szöveg használható.
{FirstName:'Joe',LastName:'Smith',RepeatCount:'2',Show:'True'}
Ez a következő kimenetet eredményezi:
Joe
Smith
Joe
Smith
Tömbök
Ha a paraméter olyan tömb, mint a [tömb] vagy a [sztring[], akkor a következő JSON-formátummal küldhet neki értéklistát: [Érték1, Érték2, Érték3]. Ezeknek az értékeknek egyszerű típusoknak kell lenniük.
Fontolja meg a következő teszt runbookot, amely egy felhasználó nevű paramétert fogad el.
Workflow Test-Parameters
{
param (
[Parameter(Mandatory=$true)][array]$user
)
if ($user[3]) {
foreach ($i in 1..$user[2]) {
$ user[0]
$ user[1]
}
}
}
A felhasználói paraméterhez a következő szöveg használható.
["Joe","Smith",2,true]
Ez a következő kimenetet eredményezi:
Joe
Smith
Joe
Smith
Igazolás
Ha a paraméter adattípus PSCredential
, megadhatja egy Azure Automation hitelesítő adategység nevét. A runbook a megadott névvel kéri le a hitelesítő adatokat. Az alábbi teszt runbook egy úgynevezett credential
paramétert fogad el.
Workflow Test-Parameters
{
param (
[Parameter(Mandatory=$true)][PSCredential]$credential
)
$credential.UserName
}
A következő szöveg használható a felhasználói paraméterhez, feltéve, hogy egy hitelesítőadat-objektum neve My Credential
.
My Credential
Feltételezve, hogy a hitelesítő adatokban a felhasználónév szerepel jsmith
, a következő kimenet jelenik meg.
jsmith
Runbook indítása az Azure Portalon
- Az Azure Portalon válassza az Automation lehetőséget , majd válassza ki egy Automation-fiók nevét.
- A bal oldali panelen válassza a Runbookok lehetőséget.
- A Runbookok lapon válasszon ki egy runbookot, majd kattintson a Start gombra.
- Ha a runbook rendelkezik paraméterekkel, a rendszer kéri, hogy adjon meg értékeket egy szövegmezővel az egyes paraméterekhez. A paraméterekkel kapcsolatos további információkért tekintse meg a Runbook paramétereit.
- A Feladat panelen megtekintheti a runbook-feladat állapotát.
Runbook indítása a PowerShell-lel
A Start-AzAutomationRunbook használatával elindíthat egy runbookot a Windows PowerShell használatával. Az alábbi mintakód elindít egy Test-Runbook nevű runbookot.
Start-AzAutomationRunbook -AutomationAccountName "MyAutomationAccount" -Name "Test-Runbook" -ResourceGroupName "ResourceGroup01"
Start-AzAutomationRunbook
Egy feladatobjektumot ad vissza, amellyel nyomon követheti az állapotot a runbook elindítása után. Ezután ezt a feladatobjektumot a Get-AzAutomationJob használatával meghatározhatja a feladat állapotát, a Get-AzAutomationJobOutput pedig lekérheti a kimenetét. Az alábbi példa elindít egy Test-Runbook nevű runbookot, megvárja, amíg befejeződik, majd megjeleníti a kimenetét.
$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
Ha a runbook paramétereket igényel, akkor kivonatolóként kell megadnia őket. A kivonatoló kulcsának meg kell egyeznie a paraméter nevével, az érték pedig a paraméter értéke. Az alábbi példa bemutatja, hogyan indíthat el egy runbookot két, FirstName és LastName nevű sztringparaméterrel, egy RepeatCount nevű egész számmal és egy Show nevű logikai paraméterrel. A paraméterekkel kapcsolatos további információkért tekintse meg a Runbook paramétereit.
$params = @{"FirstName"="Joe";"LastName"="Smith";"RepeatCount"=2;"Show"=$true}
Start-AzAutomationRunbook -AutomationAccountName "MyAutomationAccount" -Name "Test-Runbook" -ResourceGroupName "ResourceGroup01" -Parameters $params
Következő lépések
- A runbookok kezelésének részleteiért lásd : Runbookok kezelése az Azure Automationben.
- A PowerShell részleteiért lásd a PowerShell-dokumentációt.
- A runbook végrehajtásával kapcsolatos problémák elhárításához tekintse meg a runbookokkal kapcsolatos problémák hibaelhárítását.