Rastrear arquivos atualizados com uma tarefa do observador

A Automação do Azure usa uma tarefa de observação para procurar eventos e acionar ações com runbooks do PowerShell. A tarefa do observador contém duas partes, o observador e a ação. Um runbook do inspetor é executado em um intervalo definido na tarefa do inspetor e gera dados para um runbook de ação.

Nota

As tarefas do observador não são suportadas no Microsoft Azure operado pela 21Vianet.

Importante

A partir de maio de 2020, usar os Aplicativos Lógicos do Azure é a maneira recomendada e com suporte para monitorar eventos, agendar tarefas recorrentes e acionar ações. Consulte Agendar e executar tarefas, processos e fluxos de trabalho automatizados recorrentes com os Aplicativos Lógicos do Azure.

Este artigo orienta você na criação de uma tarefa do inspetor para monitorar quando um novo arquivo é adicionado a um diretório. Sabe como:

  • Importar um runbook do observador
  • Criar uma variável de automação
  • Criar um runbook de ação
  • Criar uma tarefa de observador
  • Acionar um observador
  • Inspecione a saída

Pré-requisitos

Para concluir este artigo, é necessário o seguinte:

Importar um runbook do observador

Este artigo usa um runbook do inspetor chamado runbook do Watcher que procura novos arquivos em um diretório para procurar novos arquivos em um diretório . O runbook do observador recupera o último tempo de gravação conhecido para os arquivos em uma pasta e examina todos os arquivos mais recentes do que essa marca d'água.

Você pode importar esse runbook para sua conta de automação do portal usando as etapas a seguir.

  1. Inicie sessão no portal do Azure.
  2. Procure e selecione Contas de Automatização.
  3. Na página Contas de automação, selecione o nome da sua conta de automação na lista.
  4. No painel esquerdo, selecione Galeria de runbooks em Automação de processos.
  5. Verifique se o GitHub está selecionado na lista suspensa Origem .
  6. Procure por runbook do Watcher.
  7. Selecione Watcher runbook que procura novos arquivos em um diretório e selecione Importar na página de detalhes.
  8. Dê ao runbook um nome e, opcionalmente, uma descrição e clique em OK para importar o runbook para sua conta de automação. Você verá uma mensagem Importar com êxito em um painel no canto superior direito da janela.
  9. O runbook importado aparece na lista sob o nome que você lhe deu quando você seleciona Runbooks no painel esquerdo.
  10. Clique no runbook e, na página de detalhes do runbook, selecione Editar e, em seguida, clique em Publicar. Quando solicitado, clique em Sim para publicar o runbook.

Você também pode baixar o runbook da organização do GitHub de Automação do Azure.

  1. Navegue até a página da organização do GitHub de Automação do Azure para Watch-NewFile.ps1.
  2. Para baixar o runbook do GitHub, selecione Código no lado direito da página e, em seguida, selecione Baixar ZIP para baixar todo o código em um arquivo zip.
  3. Extraia o conteúdo e importe o runbook.

Criar uma variável de automação

Uma variável Automation é usada para armazenar os carimbos de data/hora que o runbook anterior lê e armazena de cada arquivo.

  1. Selecione Variáveis em Recursos compartilhados e clique em + Adicionar uma variável.

  2. Digite Watch-NewFileTimestamp para o nome.

  3. Selecione DateTime para o tipo. O padrão será para a data e hora atuais.

    Screenshot of creating a new variable blade.

  4. Clique em Criar para criar a variável Automation.

Criar um runbook de ação

Um runbook de ação é usado em uma tarefa do observador para agir sobre os dados passados a ele a partir de um runbook do observador. Você deve importar um runbook de ação predefinido, seja do portal do Azure ou da organização do GitHub de Automação do Azure.

Você pode importar este runbook para sua conta de automação do portal do Azure:

  1. Inicie sessão no portal do Azure.
  2. Procure e selecione Contas de Automatização.
  3. Na página Contas de automação, selecione o nome da sua conta de automação na lista.
  4. No painel esquerdo, selecione Galeria de runbooks em Automação de processos.
  5. Verifique se o GitHub está selecionado na lista suspensa Origem .
  6. Procure por Ação do inspetor, selecione Ação do inspetor que processa eventos acionados por um runbook do inspetor e clique em Importar.
  7. Opcionalmente, altere o nome do runbook na página de importação e clique em OK para importar o runbook. Você verá uma mensagem Importar com êxito no painel de notificação no canto superior direito do navegador.
  8. Vá para a página da sua Conta de Automação e clique em Runbooks à esquerda. Seu novo runbook deve ser listado sob o nome que você deu a ele na etapa anterior. Clique no runbook e, na página de detalhes do runbook, selecione Editar e, em seguida, clique em Publicar. Quando solicitado, clique em Sim para publicar o runbook.

Para criar um runbook de ação baixando-o da organização do GitHub de Automação do Azure:

  1. Navegue até a página da organização do GitHub de Automação do Azure para Process-NewFile.ps1.
  2. Para baixar o runbook do GitHub, selecione Código no lado direito da página e, em seguida, selecione Baixar ZIP para baixar todo o código em um arquivo zip.
  3. Extraia o conteúdo e importe o runbook.

Criar uma tarefa de observador

Nesta etapa, você configura a tarefa do inspetor fazendo referência aos runbooks do inspetor e da ação definidos nas seções anteriores.

  1. Navegue até sua conta de automação e selecione Tarefas do inspetor em Automação de processos.

  2. Selecione a página Tarefas do inspetor e clique em + Adicionar uma tarefa do inspetor.

  3. Digite WatchMyFolder como o nome.

  4. Selecione Configurar observador e escolha o runbook Watch-NewFile .

  5. Insira os seguintes valores para os parâmetros:

    • FOLDERPATH - Uma pasta no Hybrid Runbook Worker onde novos arquivos são criados, por exemplo, d:\examplefiles.
    • EXTENSION - Extensão para a configuração. Deixe em branco para processar todas as extensões de arquivo.
    • RECURSE - Operação recursiva. Deixe esse valor como padrão.
    • RUN SETTINGS - Configuração para executar o runbook. Escolha o trabalhador híbrido.
  6. Clique em OK e, em seguida, em Selecionar para retornar à página Observador.

  7. Selecione Configurar ação e escolha o runbook Process-NewFile .

  8. Insira os seguintes valores para os parâmetros:

    • EVENTDATA - Dados do evento. Deixe em branco. Os dados são passados a partir do runbook do observador.
    • Configurações de execução - Configuração para executar o runbook. Deixe como Azure, pois este runbook é executado na Automação do Azure.
  9. Clique em OK e, em seguida, em Selecionar para retornar à página Observador.

  10. Clique em OK para criar a tarefa do inspetor.

    Screenshot of configuring watcher action in the Azure portal.

Acionar um observador

Você deve executar um teste conforme descrito abaixo para garantir que a tarefa do inspetor funcione conforme o esperado.

  1. Remoto no Runbook Worker híbrido.
  2. Abra o PowerShell e crie um arquivo de teste na pasta.
New-Item -Name ExampleFile1.txt

O exemplo a seguir mostra a saída esperada.

    Directory: D:\examplefiles


Mode                LastWriteTime         Length Name
----                -------------         ------ ----
-a----       12/11/2017   9:05 PM              0 ExampleFile1.txt

Inspecione a saída

  1. Navegue até sua conta de automação e selecione Tarefas do inspetor em Automação de processos.

  2. Selecione a tarefa do inspetor WatchMyFolder.

  3. Clique em Ver fluxos do observador em Fluxos para ver que o observador encontrou o novo arquivo e iniciou o runbook de ação.

  4. Para ver os trabalhos do runbook de ação, clique em Exibir trabalhos de ação do observador. Cada trabalho pode ser selecionado para visualizar os detalhes do trabalho.

    Screenshot of a watcher action jobs from the Azure portal.

A saída esperada quando o novo arquivo é encontrado pode ser vista no exemplo a seguir:

Message is Process new file...

Passed in data is @{FileName=D:\examplefiles\ExampleFile1.txt; Length=0}

Próximos passos

Para saber mais sobre como criar seu próprio runbook, consulte Criar um runbook do PowerShell.