Partilhar via


Controlar atividades do runbook

Importante

Esta versão do Orchestrator chegou ao fim do suporte. Recomendamos que atualize para o Orchestrator 2022.

Pode definir a sequência de operações em runbooks ao associar atividades no runbook Designer. Estas ligações são conhecidas como ligações inteligentes porque pode configurá-las para controlar o tipo de dados transmitidos de uma atividade para outra. Também pode controlar quando o runbook conclui as atividades ao definir a lógica para quando essas operações são executadas com ciclos incorporados. Por fim, pode utilizar texto e operações numéricas para manipular dados à medida que passam entre atividades ou para definir condições para a ordem das operações. Este artigo descreve como controlar a sequenciação e manipular dados no runbook.

As atividades no runbook serão concluídas de acordo com a ordem que definiu ao associá-las. Pode controlar os dados que fluem entre as atividades através dos separadores Incluir e Excluir das Propriedades da Ligação. Por exemplo, só pode incluir dados a serem transmitidos para a atividade subsequente que cumpra um determinado critério.

Importante

As regras do separador Excluir da ligação inteligente substituem as regras no separador Incluir da ligação inteligente.

Importante

As regras em cada separador são associadas através de uma condição ou . Apenas uma das condições definidas num separador deve ser verdadeira para que a condição seja verdadeira.

O tipo de dados publicados por uma atividade determina o tipo de critérios que pode definir para controlar a sequência de runbooks. Algumas atividades publicam dados binários e outras publicam dados numéricos ou de texto.

Se os dados publicados forem dados de texto, pode utilizar qualquer um dos seguintes procedimentos para definir os critérios de execução, inclusão ou exclusão.

Condição Description
contains O texto especificado aparece algures no valor do item de Dados Publicados.
não contém O texto especificado não aparece no valor do item de Dados Publicados.
starts with O valor do item de Dados Publicados começa com o texto especificado.
termina com O valor do item de Dados Publicados termina com o texto especificado.
corresponde ao padrão O valor do item de Dados Publicados corresponde à expressão regular específica.
não corresponde ao padrão O valor do item de Dados Publicados corresponde à expressão regular específica.
equals O valor do item de Dados Publicados corresponde exatamente ao texto especificado.
não é igual a O valor do item de Dados Publicados não corresponde ao texto especificado.

Nota

Os valores de texto não são sensíveis às maiúsculas e minúsculas.

Também pode definir critérios com expressões regulares para efetuar a correspondência de padrões.

Se os dados publicados forem numéricos, pode utilizar qualquer um dos seguintes procedimentos para definir os critérios de execução, inclusão ou exclusão.

Condição Description
equals O valor do item de Dados Publicados é exatamente igual ao valor especificado.
não é igual a O valor do item de Dados Publicados não é igual ao valor especificado.
é menor que O valor do item de Dados Publicados é menor do que o valor especificado.
é maior que O valor do item de Dados Publicados é maior do que o valor especificado.
é menor ou igual a O valor do item de Dados Publicados é menor ou igual ao valor especificado.
é maior ou igual a O valor do item de Dados Publicados é maior ou igual ao valor especificado.
está entre O valor do item de Dados Publicados está entre dois valores especificados.

Selecione o separador necessário para obter os passos para adicionar ou remover uma condição de ligação inteligente:

Repetir atividades com ciclos incorporados

Ao utilizar ciclos, pode criar repetições automáticas e monitorizar em qualquer localização num runbook.

Pode criar um ciclo para qualquer atividade para que possa repetir operações se falharem ou testar as informações de saída da atividade para dados válidos. Também pode utilizar estes mecanismos para criar condições de espera nos seus fluxos de trabalho.

Quando configura um ciclo para uma atividade, este continuará a ser executado com os mesmos dados de entrada até que seja atingido um critério de ciclo de saída pretendido. Pode criar os critérios de saída para o ciclo de forma semelhante às configurações de ligações inteligentes. Pode utilizar qualquer item de dados publicado da atividade como parte da configuração de saída ou não sair da configuração. Os dados publicados comuns são itens de dados especiais, como Loop: Número de tentativas e Ciclo: Duração total, que lhe permitem utilizar informações do próprio ciclo nas condições de ciclo.

Os ciclos são executados uma vez para cada fragmento de dados recebido que é transmitido para a atividade. Por exemplo, considere um runbook que utiliza uma atividade de Base de Dados de Consulta seguida de Linha de Acréscimo. Se a atividade Da Base de Dados de Consulta devolvesse três linhas, a atividade Acrescentar Linha seria executada três vezes. Se tiver um ciclo na atividade Acrescentar Linha , este executará três ciclos separados. Depois de o primeiro item de dados ter percorrido a atividade Linha de Acréscimo, o item seguinte passa pela Linha de Acréscimo e faz ciclos até sair e, em seguida, o terceiro começa. Depois de processar os três itens, a atividade seguinte no runbook é executada.

Configurar ciclos

  1. Clique com o botão direito do rato numa atividade no runbook para selecionar Ciclos. É aberta a caixa de diálogo Propriedades de Ciclo .

  2. No separador Geral , selecione Ativar.

  3. Na caixa Atraso entre tentativas , introduza o número de segundos a colocar em pausa entre cada tentativa de execução da atividade.

Condições de Saída e Não Sair

As regras no separador Sair especificam as condições que determinam se o ciclo sai. As regras no separador Não Sair especificam as condições que fazem com que o ciclo continue.

Importante

As regras no separador Não Sair substituem as regras no separador Sair .

As regras em cada separador são associadas através de uma condição Or . Apenas uma das condições num separador tem de ser verdadeira para que todo o separador seja verdadeiro.

Selecione o separador necessário para o procedimento para adicionar ou remover uma condição de Saída :

Siga estes passos para adicionar uma condição de saída:

  1. Na caixa de diálogo Propriedades de Ciclo , selecione o separador Sair ou Não Sair e, em seguida, selecione a condição listada na caixa, selecione Adicionar para adicionar uma condição.

    Importante

    Para alterar os valores que compõem a regra, tem de selecionar cada parte sublinhada da condição de ligação.

  2. Selecione a atividade listada na condição para abrir a caixa de diálogo Dados Publicados .

  3. Selecione a caixa Mostrar Dados Devolvidos comuns para apresentar propriedades comuns a todas as atividades.

  4. Selecione uma propriedade a partir dos dados publicados e, em seguida, selecione OK. A expressão de critérios é alterada dependendo do tipo de dados que a propriedade devolve.

  5. Para alterar as diferentes partes da expressão, selecione o texto sublinhado e selecione ou introduza um valor adequado.

  6. Selecione Concluir.

Definir uma agenda para um runbook

Pode definir uma agenda para controlar quando um runbook é executado. Por exemplo, há alturas em que é inadequado executar alguns runbooks, como fazer cópias de segurança de um runbook num servidor principal durante o horário comercial normal. É possível criar uma agenda que será executada de acordo com um intervalo complexo como, por exemplo, na primeira e terceira segundas-feiras e quintas-feiras de cada mês, exceto quando estes dias coincidirem com feriados.

As agendas utilizam o relógio do sistema do servidor Runbook que executa o runbook. Esta opção permite o funcionamento das agendas em ambientes de máquina virtual e que continuem a ser executadas mesmo que o relógio do sistema seja acertado da ou para a hora de verão.

Runbooks que começam antes de uma execução de tempo proibida até serem concluídos, mesmo que ainda estejam a processar quando a hora proibida chega. Não serão interrompidos após o processamento ter sido iniciado.

Importante

As permissões de acesso para agendamentos podem ser modificadas, mas o servidor runbook não impõe estas permissões.

Nota

Se agendar um runbook para iniciar durante uma hora que é ignorada quando o relógio do sistema é ajustado para a frente por uma hora, essa hora de início é ignorada e o runbook começa na hora agendada seguinte. Se agendar um runbook para iniciar durante uma hora que ocorre duas vezes porque o relógio do sistema é ajustado para trás por uma hora, o runbook é iniciado duas vezes.

Nota

O Orchestrator não suporta a movimentação de várias agendas com seleção múltipla. Para mover mais do que uma agenda para outra pasta, tem de mover cada agenda individualmente.

Selecione o separador necessário para criar uma agenda, atribuir uma agenda a um runbook ou remover uma agenda de um runbook:

Siga estes passos para criar uma agenda:

  1. No painel Connections, clique com o botão direito do rato na pasta Agendas ou numa subpasta da pasta Agendas, aponte para Novo e, em seguida, selecione Agendar para abrir a caixa de diálogo Nova Agenda.

  2. No separador Geral , na caixa Nome , introduza um nome para a agenda.

  3. Na caixa Descrição , introduza uma descrição que descreva ou explique o objetivo da agenda.

  4. Selecione o separador Detalhes . Selecione os dias em que esta agenda permite a execução de runbooks:

    Dias da semana: selecione esta opção e selecione os dias da semana em que esta agenda permite a execução de runbooks.

    Ocorrência: selecione as semanas do mês em que a agenda permite a execução de runbooks.

    Dias do mês: selecione esta opção e selecione os dias do mês em que esta agenda permite a execução de runbooks. Especifique os dias do mês introduzindo o número do dia. Pode utilizar hífenes para descrever intervalos e vírgulas para separar entradas. Por exemplo, escrever 1,3 inclui o primeiro e terceiro dia do mês. A introdução de 1 a 21 inclui o primeiro até ao vigésimo primeiro dia do mês. Pode combinar ambos para criar descrições complexas dos dias do mês. Introduza tudo para especificar todos os dias do mês. Introduza o último para especificar o último dia do mês.

    Não pode utilizar todos e durar como parte de um intervalo de dias. Além disso, se introduziu um intervalo de 5 a 31, este intervalo funciona corretamente durante todos os meses, incluindo aqueles com 28, 29, 30 e 31 dias.

  5. Selecione Horas para abrir a caixa de diálogo Agendar Horas .

  6. Selecione e arraste para selecionar um grupo de horas numa semana. O texto na parte inferior da caixa de diálogo mostra o período de tempo que selecionou. Em seguida, selecione um dos seguintes procedimentos:

    Permitir (azul): atribui o período de tempo que selecionou como uma hora em que os runbooks têm permissão para serem executados.

    Negado (branco): atribua o período de tempo que selecionou como uma hora em que os runbooks não estão autorizados a ser executados.

  7. Selecione OK.

  8. Selecione o separador Exceções . A lista apresenta todos os dias que são exceções às regras definidas no separador Detalhes.

  9. Selecione Adicionar para abrir a caixa de diálogo Data .

  10. Especifique a data e selecione Permitir ou Não permitir que o runbook seja executado nesse dia e, em seguida, selecione OK. A entrada aparece na lista.

  11. Para modificar uma entrada Exceção, selecione-a e, em seguida, selecione Modificar. Para remover a entrada Exceção, selecione-a e, em seguida, selecione Remover.

  12. Para modificar uma agenda, faça duplo clique na Agenda.

  13. Para remover uma agenda, clique com o botão direito do rato na Agenda e, em seguida, selecione Eliminar.

  14. Selecione Concluir.

Manipular dados com funções

Poderá ter de manipular dados de cadeias de carateres de ficheiros de texto, dados devolvidos ou outras origens e convertê-los num formulário utilizável para as suas atividades de runbook. Além disso, pode realizar operações aritméticas simples, tais como calcular somas e diferenças e realizar operações de divisão e multiplicação. Por exemplo, pode extrair texto de um ficheiro de texto com uma atividade de Gestão de Ficheiros de Texto , cortar espaços à esquerda e à direita do texto e, em seguida, obter partes específicas do texto que pode transmitir a outras atividades como itens de dados devolvidos.

Manipula dados no runbook ao inserir uma função. As funções de manipulação de dados têm de estar entre parênteses retos ("[" e "]"). Por exemplo:

[Upper('this will be inserted in upper case')]

Quando executa a atividade, o texto "isto será inserido em maiúsculas" no exemplo é substituído por "ISTO SERÁ INSERIDO EM MAIÚSCULAS".

As funções são sensíveis às maiúsculas e minúsculas. Por exemplo, Upper('Text') será processado, mas superior('Texto') não.

A tabela abaixo lista as funções suportadas para runbooks.

Função e Definição Utilização Parâmetros Exemplo
Superior – converte o texto em maiúsculas. Superior('Texto') Texto – o texto que está a ser convertido em maiúsculas. Superior("isto será convertido em maiúsculas") devolve "ISTO SERÁ CONVERTIDO EM MAIÚSCULAS"
Inferior – converte o texto em minúsculas. Inferior('Texto') Texto – o texto que está a ser convertido em minúsculas. Lower("This Will Be Convert To Lowercase") devolve "isto será convertido em minúsculas"
Campo – devolve texto numa posição específica. Campo("Texto", "Delimitador", Número de Campo) Texto – o texto que está a ser pesquisado.

Delimitador – o caráter que separa cada campo.

Número de Campo - a posição do campo que está a ser devolvido (a partir de 1).
Campo('João; Smith; 9055552211', ';', 2) devolve 'Smith'
Soma – devolve a soma de um conjunto de números. Sum(firstNumber, secondNumber, thirdNumber, ...) Número – o número que está a ser adicionado. Pode colocar qualquer conjunto de números, cada um separado por uma vírgula (,). Soma(2,3,4,5) devolve "14"
Diff - devolve a diferença de dois números. Diff(Número1, Número2, <Precisão>) Number1 - o número que será subtraído.

Number2 - o número que será subtraído de Number1.

Precisão <Opcional> - o número de casas decimais para as quais o resultado será arredondado.
Diff(9, 7) devolve '2'

Diff(9.3, 2.1, 2) devolve '7.20'
Mult – devolve o produto de um conjunto de números. Mult(firstNumber, secondNumber, thirdNumber, ...) Número – o número que está a ser multiplicado. Pode colocar qualquer conjunto de números, cada um separado por uma vírgula (,). Mult(2, 3, 4) devolve '24'
Div - devolve o quociente de dois números. Div(Number1, Number2, <Precision>) Number1 - o número que será dividido.

Number2 - o número que irá dividir Number1.

Precisão <Opcional> - o número de casas decimais para as quais o resultado será arredondado.
Div(8, 4) devolve '2'

Div(9, 2, 2) devolve '4.50'
Instr – devolve a posição da primeira ocorrência de texto noutro texto. Instr ("SearchText", "TextToFind") SearchText - o texto que está a ser pesquisado.

TextToFind - o texto que está a procurar.
Instr("Esta é uma cadeia que é pesquisada", "cadeia") devolve 11
Direita – devolve um subconjunto do texto do lado direito do texto completo. Direita('Texto', Comprimento) Texto – o texto completo.

Comprimento – o número de carateres do lado direito que serão devolvidos.
Right('Take from the right', 9) returns 'the right' ('Take from the right', 9) returns 'the right' ('Take from the right', 9) returns 'the right' ('Take from
Esquerda – devolve um subconjunto do texto do lado esquerdo do texto completo. Esquerda('Texto', Comprimento) Texto – o texto completo.

Comprimento – o número de carateres do lado esquerdo que serão devolvidos.
Left('Take from the left', 4) returns 'Take' ('Take from the left', 4) returns 'Take'
Mid - devolve um subconjunto do texto a partir do meio do texto completo. Mid('Text', Start, Length) Texto – o texto completo.

Iniciar – a posição inicial no texto onde pretende começar a devolver carateres.

Comprimento – o número de carateres a partir da posição Iniciar que será devolvida.
Mid('Take from the middle', 5, 4) returns 'from' ('Take from the middle', 5, 4) returns 'from'
LTrim – corta espaços à esquerda do texto. LTrim('Texto') Texto – o texto que está a ser cortado dos espaços à esquerda. LTrim(' Remover apenas os espaços à esquerda. ') devolve 'Remover apenas os espaços à esquerda. '
RTrim - corta os espaços à direita do texto. RTrim('Texto') Texto – o texto que está a ser cortado de espaços à direita. RTrim(' Remover apenas os espaços à direita. ") devolve " Remover apenas os espaços à direita."
Cortar – corta espaços à esquerda e à direita do texto. Cortar('Texto') Texto – o texto que está a ser cortado. Cortar(' Remover espaços à esquerda e à direita. ') devolve 'Remover espaços à esquerda e à direita'.
Len - devolve o comprimento do texto. Len('Text') Texto – o texto que está a ser medido. Len('Medir este texto') devolve 17

Nota

As funções são sensíveis às maiúsculas e minúsculas. Por exemplo, Upper('Text') será processado, mas superior('Texto') não.

Passos Seguintes

Para ler instruções guiadas sobre a criação de um runbook de exemplo, veja Criar e testar um runbook de exemplo.