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 Vlastnosti
Azure Portal
  • Nejjednodušší metoda s interaktivním uživatelským rozhraním.
  • Formulář pro zadání jednoduchých hodnot parametrů
  • Snadno sledovat stav úlohy.
  • Přístup byl ověřený pomocí přihlášení k Azure.
  • Windows PowerShell
  • Volání z příkazového řádku pomocí rutin Prostředí Windows PowerShell
  • Do automatizované funkce je možné zahrnout několik kroků.
  • Požadavek se ověřuje pomocí certifikátu nebo instančního objektu uživatele OAuth.
  • Zadejte jednoduché a komplexní hodnoty parametrů.
  • Sledujte stav úlohy.
  • Klient vyžadovaný pro podporu rutin PowerShellu.
  • Azure Automation API
  • Nejflexibilnější metoda, ale také nejsložitější.
  • Volání z libovolného vlastního kódu, který může provádět požadavky HTTP.
  • Žádost o ověření pomocí certifikátu nebo instančního objektu uživatele Oauth
  • Zadejte jednoduché a komplexní hodnoty parametrů. Pokud voláte runbook Pythonu pomocí rozhraní API, musí se datová část JSON serializovat.
  • Sledujte stav úlohy.
  • Webhooky
  • Spusťte runbook z jednoho požadavku HTTP.
  • Ověřeno pomocí tokenu zabezpečení v adrese URL.
  • Klient nemůže přepsat hodnoty parametrů zadané při vytvoření webhooku. Runbook může definovat jeden parametr naplněný podrobnostmi požadavku HTTP.
  • Prostřednictvím adresy URL webhooku není možné sledovat stav úlohy.
  • Reakce na upozornění Azure
  • Spusťte runbook v reakci na upozornění Azure.
  • Nakonfigurujte webhook pro runbook a odkaz na upozornění.
  • Ověřeno pomocí tokenu zabezpečení v adrese URL.
  • Plán
  • Automaticky spouštět runbook podle hodinového, denního, týdenního nebo měsíčního plánu
  • Manipulace s plánem prostřednictvím webu Azure Portal, rutin PowerShellu nebo rozhraní Azure API
  • Zadejte hodnoty parametrů, které se mají použít s plánem.
  • Z jiného runbooku
  • Runbook použijte jako aktivitu v jiném runbooku.
  • Užitečné pro funkce používané více runbooky.
  • Zadejte hodnoty parametrů podřízeným runbookům a použijte výstup v nadřazené sadě Runbook.
  • 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ů.

    Runbook Architecture

    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

    1. Na webu Azure Portal vyberte Automation a pak vyberte název účtu Automation.
    2. V levém podokně vyberte Runbooky.
    3. Na stránce Runbooky vyberte runbook a klepněte na tlačítko Start.
    4. 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.
    5. 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