Inicie um runbook na Automação do Azure
A tabela a seguir o ajuda a determinar o método para inicializar um runbook na Automação do Azure, que seja mais adequado ao seu cenário específico. Este artigo inclui detalhes sobre como iniciar um runbook com o portal do Azure e com o Windows PowerShell. Detalhes sobre outros métodos são fornecidos em outros documentos que você pode acessar através dos links abaixo.
Método | Características |
---|---|
Portal do Azure | |
Windows PowerShell | |
API de Automação do Azure | |
Webhooks | |
Responder a um Alerta do Azure | |
Agendar | |
De Outro Runbook |
A imagem a seguir ilustra o processo passo a passo detalhado no ciclo de vida de um runbook. Ela inclui as diferentes formas como um runbook é iniciado na Automação do Azure, que componentes são necessários para que o Hybrid Runbook Worker execute runbooks da Automação do Azure e as interações entre diferentes componentes. Para saber mais sobre a execução de runbooks de Automação em seu datacenter, veja hybrid runbook workers
Trabalhar com parâmetros do runbook
Quando você inicia um runbook por meio do Portal do Azure ou do Windows PowerShell, a instrução é enviada pelo serviço Web da Automação do Azure. Esse serviço não dá suporte a parâmetros com tipos de dados complexos. Se você precisa fornecer um valor para um parâmetro complexo, você deve chamá-lo embutido de outro runbook, como descrito em Runbooks filho na Automação do Azure.
O serviço Web da Automação do Azure fornece uma funcionalidade especial para os parâmetros usando certos tipos de dados, conforme descrito nas seções a seguir.
Valores nomeados
Se o parâmetro é do tipo de dados [object], você pode usar o seguinte formato JSON para enviar-lhe uma lista de valores nomeados: {Name1:'Value1', Name2:'Value2', Name3:'Value3'}. Esses valores devem ser tipos simples. O runbook recebe o parâmetro como um PSCustomObject com propriedades que correspondem a cada valor nomeado.
Considere o runbook de teste a seguir que aceita um parâmetro chamado 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
}
}
}
O texto a seguir pode ser usado para o parâmetro user.
{FirstName:'Joe',LastName:'Smith',RepeatCount:'2',Show:'True'}
Isso resulta na seguinte saída:
Joe
Smith
Joe
Smith
Matrizes
Se o parâmetro é uma matriz, como [array] ou [string[]], você pode usar o seguinte formato JSON para enviar-lhe uma lista de valores: [Value1, Value2, Value3]. Esses valores devem ser tipos simples.
Considere o runbook de teste a seguir que aceita um parâmetro chamado user.
Workflow Test-Parameters
{
param (
[Parameter(Mandatory=$true)][array]$user
)
if ($user[3]) {
foreach ($i in 1..$user[2]) {
$ user[0]
$ user[1]
}
}
}
O texto a seguir pode ser usado para o parâmetro user.
["Joe","Smith",2,true]
Isso resulta na seguinte saída:
Joe
Smith
Joe
Smith
Credenciais
Se o parâmetro é do tipo de dados PSCredential
, forneça o nome de um ativo de credencial da Automação do Azure. O runbook recupera as credenciais com o nome que você especifica. O runbook de teste a seguir aceita um parâmetro chamado credential
.
Workflow Test-Parameters
{
param (
[Parameter(Mandatory=$true)][PSCredential]$credential
)
$credential.UserName
}
O texto a seguir pode ser usado para o parâmetro user supondo que havia um ativo de credencial chamado My Credential
.
My Credential
Supondo que o nome de usuário na credencial seja jsmith
, a saída a seguir é exibida.
jsmith
Iniciar um runbook com o portal do Azure
- No Portal do Azure, selecione Automação e, em seguida, selecione no nome de uma Conta de automação.
- No painel esquerdo, selecione Runbooks.
- Na página Runbooks, selecione um runbook e, em seguida, clique em Iniciar.
- Se o runbook tiver parâmetros, você será solicitado a fornecer valores com uma caixa de texto a cada parâmetro. Para obter mais informações sobre parâmetros, confira Parâmetros de runbook.
- Veja o status do trabalho do runbook no painel Trabalho.
Iniciar um runbook com o PowerShell
Use Start-AzAutomationRunbook para iniciar um runbook com o Windows PowerShell. O código de exemplo a seguir inicia um runbook chamado Test-Runbook.
Start-AzAutomationRunbook -AutomationAccountName "MyAutomationAccount" -Name "Test-Runbook" -ResourceGroupName "ResourceGroup01"
Start-AzAutomationRunbook
retorna um objeto de trabalho que você pode usar para controlar o status depois que o runbook é iniciado. Você pode usar esse objeto de trabalho com Get-AzAutomationJob para determinar o status do trabalho e Get-AzAutomationJobOutput para recuperar sua saída. O código de exemplo a seguir inicia um runbook chamado Test-Runbook, aguarda até que ele seja concluído e exibe a sua saída.
$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
Se o runbook exigir parâmetros, você deve fornecê-los como uma tabela de hash. A chave da tabela de hash deve corresponder ao nome do parâmetro e o valor é o valor do parâmetro. O exemplo a seguir mostra como iniciar um runbook com dois parâmetros de cadeia de caracteres chamados FirstName e LastName, um número inteiro denominado RepeatCount e um parâmetro booliano denominado Show. Para obter mais informações sobre parâmetros, confira Parâmetros de runbook.
$params = @{"FirstName"="Joe";"LastName"="Smith";"RepeatCount"=2;"Show"=$true}
Start-AzAutomationRunbook -AutomationAccountName "MyAutomationAccount" -Name "Test-Runbook" -ResourceGroupName "ResourceGroup01" -Parameters $params
Próximas etapas
- Para obter detalhes sobre o gerenciamento de runbooks, consulte Gerenciamento de runbooks na Automação do Azure.
- Para obter detalhes do PowerShell, veja Documentos do PowerShell.
- Para solucionar problemas com a execução do runbook, confira Solução de problemas de runbook.