Bijgewerkte bestanden bijhouden met een watcher-taak

Azure Automation gebruikt een watcher-taak om te zoeken naar gebeurtenissen en triggeracties met PowerShell-runbooks. De watcher-taak bevat twee delen, de watcher en de actie. Een watcher-runbook wordt uitgevoerd met een interval dat is gedefinieerd in de watcher-taak en voert gegevens uit naar een actierunbook.

Notitie

Watcher-taken worden niet ondersteund in Microsoft Azure beheerd door 21Vianet.

Belangrijk

Vanaf mei 2020 is het gebruik van Azure Logic Apps de aanbevolen en ondersteunde manier om te controleren op gebeurtenissen, terugkerende taken te plannen en triggeracties te activeren. Zie Terugkerende geautomatiseerde taken, processen en werkstromen plannen en uitvoeren met Azure Logic Apps.

In dit artikel wordt uitgelegd hoe u een watcher-taak maakt om te controleren wanneer een nieuw bestand wordt toegevoegd aan een map. U leert het volgende:

  • Een watcher-runbook importeren
  • Een Automation-variabele maken
  • Een actierunbook maken
  • Een watcher-taak maken
  • Een watcher activeren
  • De uitvoer controleren

Vereisten

U kunt dit artikel als volgt voltooien:

Een watcher-runbook importeren

In dit artikel wordt een watcher-runbook met de naam Watcher-runbook gebruikt dat zoekt naar nieuwe bestanden in een map om te zoeken naar nieuwe bestanden in een map. Het watcher-runbook haalt de laatst bekende schrijftijd op naar de bestanden in een map en kijkt naar nieuwere bestanden dan dat watermerk.

U kunt dit runbook importeren in uw Automation-account vanuit de portal met behulp van de volgende stappen.

  1. Meld u aan bij de Azure-portal.
  2. Zoek en selecteer Automation-accounts.
  3. Selecteer op de pagina Automation-accounts de naam van uw Automation-account in de lijst.
  4. Selecteer in het linkerdeelvenster runbooksgalerie onder Procesautomatisering.
  5. Zorg ervoor dat GitHub is geselecteerd in de vervolgkeuzelijst Bron .
  6. Zoek naar Watcher-runbook.
  7. Selecteer Watcher-runbook dat zoekt naar nieuwe bestanden in een map en selecteer Importeren op de detailpagina.
  8. Geef het runbook een naam en eventueel een beschrijving en klik op OK om het runbook te importeren in uw Automation-account. In een deelvenster rechtsboven in het venster ziet u een bericht dat het importeren is geslaagd .
  9. Het geïmporteerde runbook wordt weergegeven in de lijst onder de naam die u hebt gegeven wanneer u Runbooks selecteert in het linkerdeelvenster.
  10. Klik op het runbook en klik op de pagina met details van het runbook op Bewerken en klik vervolgens op Publiceren. Wanneer u hierom wordt gevraagd, klikt u op Ja om het runbook te publiceren.

U kunt het runbook ook downloaden van de Azure Automation GitHub-organisatie.

  1. Navigeer naar de Azure Automation GitHub-organisatiepagina voor Watch-NewFile.ps1.
  2. Als u het runbook wilt downloaden vanuit GitHub, selecteert u Code aan de rechterkant van de pagina en selecteert u ZIP downloaden om de hele code in een zip-bestand te downloaden.
  3. Pak de inhoud uit en importeer het runbook.

Een Automation-variabele maken

Een Automation-variabele wordt gebruikt om de tijdstempels op te slaan die in het voorgaande runbook worden gelezen en opgeslagen uit elk bestand.

  1. Selecteer Variabelen onder Gedeelde resources en klik op + Een variabele toevoegen.

  2. Voer Watch-NewFileTimestamp in als naam.

  3. Selecteer Datum/tijd voor het type. Deze wordt standaard ingesteld op de huidige datum en tijd.

    Screenshot of creating a new variable blade.

  4. Klik op Maken om de Automation-variabele te maken.

Een actierunbook maken

Een actierunbook wordt gebruikt in een watcher-taak om te reageren op de gegevens die eraan worden doorgegeven vanuit een watcher-runbook. U moet een vooraf gedefinieerd actie-runbook importeren, ofwel vanuit Azure Portal van de Azure Automation GitHub-organisatie.

U kunt dit runbook importeren in uw Automation-account vanuit Azure Portal:

  1. Meld u aan bij de Azure-portal.
  2. Zoek en selecteer Automation-accounts.
  3. Selecteer op de pagina Automation-accounts de naam van uw Automation-account in de lijst.
  4. Selecteer in het linkerdeelvenster runbooksgalerie onder Procesautomatisering.
  5. Zorg ervoor dat GitHub is geselecteerd in de vervolgkeuzelijst Bron .
  6. Zoek naar Watcher-actie, selecteer Watcher-actie die gebeurtenissen verwerkt die zijn geactiveerd door een watcher-runbook en klik op Importeren.
  7. Wijzig desgewenst de naam van het runbook op de importpagina en klik vervolgens op OK om het runbook te importeren. Als het goed is, ziet u in het meldingsvenster rechtsboven in de browser een bericht dat is geïmporteerd .
  8. Ga naar de pagina Automation-account en klik aan de linkerkant op Runbooks . Uw nieuwe runbook moet worden weergegeven onder de naam die u in de vorige stap hebt opgegeven. Klik op het runbook en klik op de pagina met details van het runbook op Bewerken en klik vervolgens op Publiceren. Wanneer u hierom wordt gevraagd, klikt u op Ja om het runbook te publiceren.

Een actierunbook maken door het te downloaden van de Azure Automation GitHub-organisatie:

  1. Navigeer naar de azure Automation GitHub-organisatiepagina voor Process-NewFile.ps1.
  2. Als u het runbook wilt downloaden vanuit GitHub, selecteert u Code aan de rechterkant van de pagina en selecteert u ZIP downloaden om de hele code in een zip-bestand te downloaden.
  3. Pak de inhoud uit en importeer het runbook.

Een watcher-taak maken

In deze stap configureert u de watcher-taak die verwijst naar de watcher- en actierunbooks die in de voorgaande secties zijn gedefinieerd.

  1. Navigeer naar uw Automation-account en selecteer Watcher-taken onder Procesautomatisering.

  2. Selecteer de pagina Watcher-taken en klik op + Een watcher-taak toevoegen.

  3. Voer WatchMyFolder in als de naam.

  4. Selecteer Watcher configureren en kies het Watch-NewFile-runbook .

  5. Voer de volgende waarden in voor de parameters:

    • FOLDERPATH : een map op de Hybrid Runbook Worker waar nieuwe bestanden worden gemaakt, bijvoorbeeld d:\examplefiles.
    • EXTENSION - Extensie voor de configuratie. Laat leeg om alle bestandsextensies te verwerken.
    • RECURSE - Recursieve bewerking. Laat deze waarde staan als de standaardwaarde.
    • RUN SETTINGS - Instelling voor het uitvoeren van het runbook. Kies de hybrid worker.
  6. Klik op OK en selecteer om terug te keren naar de Watcher-pagina.

  7. Selecteer Actie configureren en kies het runbook Process-NewFile .

  8. Voer de volgende waarden in voor de parameters:

    • EVENTDATA - Gebeurtenisgegevens. Leeg laten. Gegevens worden doorgegeven vanuit het watcher-runbook.
    • Voer Instellingen uit: instelling voor het uitvoeren van het runbook. Laat dit als Azure staan, omdat dit runbook wordt uitgevoerd in Azure Automation.
  9. Klik op OK en selecteer om terug te keren naar de Watcher-pagina.

  10. Klik op OK om de watcher-taak te maken.

    Screenshot of configuring watcher action in the Azure portal.

Een watcher activeren

U moet een test uitvoeren zoals hieronder wordt beschreven om ervoor te zorgen dat de watcher-taak werkt zoals verwacht.

  1. Extern naar de Hybrid Runbook Worker.
  2. Open PowerShell en maak een testbestand in de map.
New-Item -Name ExampleFile1.txt

In het volgende voorbeeld ziet u de verwachte uitvoer.

    Directory: D:\examplefiles


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

De uitvoer controleren

  1. Navigeer naar uw Automation-account en selecteer Watcher-taken onder Procesautomatisering.

  2. Selecteer de watcher-taak WatchMyFolder.

  3. Klik op Watcher-streams weergeven onder Streams om te zien dat het nieuwe bestand is gevonden en het actie-runbook is gestart.

  4. Als u de actierunbooktaken wilt zien, klikt u op Actietaken voor watcher weergeven. Elke taak kan worden geselecteerd om de details van de taak weer te geven.

    Screenshot of a watcher action jobs from the Azure portal.

De verwachte uitvoer wanneer het nieuwe bestand wordt gevonden, is te zien in het volgende voorbeeld:

Message is Process new file...

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

Volgende stappen

Zie Een PowerShell-runbook maken voor meer informatie over het ontwerpen van uw eigen runbook.