Start a runbook in Azure Automation

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.

Metódus Jellemzők
Azure Portal
  • A legegyszerűbb módszer interaktív felhasználói felülettel.
  • Űrlap egyszerű paraméterértékek megadásához.
  • Egyszerűen nyomon követheti a feladat állapotát.
  • Azure-bejelentkezéssel hitelesített hozzáférés.
  • Windows PowerShell
  • Hívás parancssorból Windows PowerShell-parancsmagokkal.
  • Az automatizált funkció több lépéssel is része lehet.
  • A kérés hitelesítése tanúsítványsal vagy OAuth-felhasználónévvel/szolgáltatásnévvel történik.
  • Adjon meg egyszerű és összetett paraméterértékeket.
  • Feladat állapotának nyomon követése.
  • A PowerShell-parancsmagok támogatásához szükséges ügyfél.
  • Azure Automation API
  • A legrugalmasabb módszer, de a legösszetettebb is.
  • Hívás bármely olyan egyéni kódból, amely HTTP-kéréseket tud küldeni.
  • Tanúsítványsal vagy Oauth-felhasználónévvel vagy szolgáltatásnévvel hitelesített kérés.
  • Adjon meg egyszerű és összetett paraméterértékeket. Ha Python-runbookot hív meg az API használatával, a JSON hasznos adatait szerializálni kell.
  • Feladat állapotának nyomon követése.
  • Webhooks
  • Indítsa el a runbookot egyetlen HTTP-kérelemből.
  • Hitelesítés biztonsági jogkivonattal az URL-címben.
  • Az ügyfél nem tudja felülbírálni a webhook létrehozásakor megadott paraméterértékeket. A Runbook meghatározhat egyetlen paramétert, amely a HTTP-kérelem részleteivel van feltöltve.
  • Nem lehet nyomon követni a feladat állapotát a webhook URL-címén keresztül.
  • Válasz az Azure Alertre
  • Indítsa el a runbookot az Azure-riasztásra válaszul.
  • Konfigurálja a webhookot runbookhoz, és hivatkozik a riasztásra.
  • Hitelesítés biztonsági jogkivonattal az URL-címben.
  • Ütemezés
  • A runbook automatikus indítása óránként, naponta, hetente vagy havonta.
  • Az ütemezés módosítása az Azure Portalon, a PowerShell-parancsmagokon vagy az Azure API-on keresztül.
  • Adja meg az ütemezéshez használandó paraméterértékeket.
  • Másik runbookból
  • Runbook használata tevékenységként egy másik runbookban.
  • Több runbook által használt funkciókhoz használható.
  • Adja meg a paraméterértékeket a gyermek runbookhoz, és használja a kimenetet a szülő runbookban.
  • 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 Architecture

    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
    

    Hitelesítő adatok

    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 credentialparamé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

    1. Az Azure Portalon válassza az Automation lehetőséget , majd válassza ki egy Automation-fiók nevét.
    2. A bal oldali panelen válassza a Runbookok lehetőséget.
    3. A Runbookok lapon válasszon ki egy runbookot, majd kattintson a Start gombra.
    4. 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.
    5. 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