Nachverfolgen von aktualisierten Dateien mit einem Watchertask

Azure Automation verwendet einen Watchertask für eine Überwachung auf Ereignisse und Triggeraktionen in PowerShell-Runbooks. Der Watchertask besteht aus zwei Teilen: Watcher und Aktion. Ein Watcherrunbook wird in einem Intervall ausgeführt, das im Watchertask definiert ist, und gibt Daten in ein Aktionsrunbook aus.

Hinweis

Watcher-Aufgaben werden in Microsoft Azure, betrieben von 21Vianet, nicht unterstützt.

Wichtig

Seit Mai 2020 ist die Verwendung von Azure Logic Apps die empfohlene und unterstützte Methode zum Überwachen auf Ereignisse, zum Planen von wiederkehrenden Aufgaben und zum Auslösen von Aktionen. Informationen finden Sie unter Planen und Ausführen von wiederkehrenden automatisierten Aufgaben, Prozessen und Workflows mit Azure Logic Apps.

Dieser Artikel führt Sie durch die Schritte zum Erstellen eines Watchertasks, mit dem Sie überwachen können, ob einem Verzeichnis eine neue Datei hinzugefügt wird. Folgendes wird vermittelt:

  • Importieren eines Watcherrunbooks
  • Erstellen einer Automation-Variable
  • Erstellen eines Aktionsrunbooks
  • Erstellen eines Watchertasks
  • Auslösen eines Watchers
  • Untersuchen der Ausgabe

Voraussetzungen

Für diesen Artikel müssen folgende Voraussetzungen erfüllt sein:

Importieren eines Watcherrunbooks

In diesem Artikel wird ein Watcherrunbook namens Watcherrunbook, das nach neuen Dateien in einem Verzeichnis sucht verwendet, um in einem Verzeichnis nach neuen Dateien zu suchen. Das Watcherrunbook ruft die Uhrzeit des letzten bekannten Schreibzugriffs auf die Dateien in einem Ordner ab und sucht nach Dateien, die jünger sind als dieser Zeitpunkt.

Sie können dieses Runbook mithilfe der folgenden Schritte über das Portal in Ihr Automation-Konto importieren:

  1. Melden Sie sich beim Azure-Portal an.
  2. Suchen Sie nach Automation-Konten, und wählen Sie diese Option aus.
  3. Wählen Sie auf der Seite Automation-Konten den Namen Ihres Automation-Kontos in der Liste aus.
  4. Wählen Sie im linken Bereich unter Prozessautomatisierung die Option Runbookkatalog aus.
  5. Stellen Sie sicher, dass in der Dropdownliste Quelle die Option GitHub ausgewählt ist.
  6. Suchen Sie nach Watcherrunbook.
  7. Wählen Sie Watcherrunbook, das nach neuen Dateien in einem Verzeichnis sucht und dann auf der Detailseite die Option Importieren aus.
  8. Geben Sie einen Namen und optional eine Beschreibung für das Runbook ein, und klicken Sie auf OK, um das Runbook in Ihr Automation-Konto zu importieren. In einem Bereich oben rechts im Fenster sollte die Meldung Import erfolgreich angezeigt werden.
  9. Das importierte Runbook wird in der Liste unter dem von Ihnen festgelegten Namen angezeigt, wenn Sie im linken Bereich „Runbooks“ auswählen.
  10. Klicken Sie auf das Runbook, wählen Sie auf der Detailseite des Runbooks Bearbeiten aus, und klicken Sie dann auf Veröffentlichen. Wählen Sie bei der Aufforderung Ja aus, um das Runbook zu veröffentlichen.

Sie können die Runbooks auch von der Azure Automation-GitHub-Organisation herunterladen.

  1. Navigieren Sie zur Seite der Azure Automation-GitHub-Organisation für Watch-NewFile.ps1.
  2. Um das Runbook von GitHub herunterzuladen, wählen Sie Code auf der rechten Seite aus, und wählen Sie dann ZIP herunterladen aus, um den gesamten Code in einer ZIP-Datei herunterzuladen.
  3. Extrahieren Sie den Inhalt, und importieren Sie das Runbook.

Erstellen einer Automation-Variable

Eine Automation-Variable wird verwendet, um die Zeitstempel zu speichern, die das vorhergehende Runbook aus jeder Datei liest und speichert.

  1. Wählen Sie unter Freigegebene Ressourcen die Option Variablen aus, und klicken Sie dann auf +Variable hinzufügen.

  2. Geben Sie als Namen Watch-NewFileTimestamp ein.

  3. Wählen Sie den Typ DateTime aus. Standardmäßig werden das aktuelle Datum und die aktuelle Uhrzeit verwendet.

    Screenshot of creating a new variable blade.

  4. Klicken Sie auf Erstellen, um die Automation-Variable zu erstellen.

Erstellen eines Aktionsrunbooks

Ein Aktionsrunbook wird in einem Watchertask verwendet, um Aktionen für die von einem Watcherrunbook übergebenen Daten auszuführen. Sie müssen ein vordefiniertes Aktionsrunbook aus dem Azure-Portal oder aus der Azure Automation-GitHub-Organisation importieren.

Sie können dieses Runbook im Azure-Portal in Ihr Automation-Konto importieren:

  1. Melden Sie sich beim Azure-Portal an.
  2. Suchen Sie nach Automation-Konten, und wählen Sie diese Option aus.
  3. Wählen Sie auf der Seite Automation-Konten den Namen Ihres Automation-Kontos in der Liste aus.
  4. Wählen Sie im linken Bereich unter Prozessautomatisierung die Option Runbookkatalog aus.
  5. Stellen Sie sicher, dass in der Dropdownliste Quelle die Option GitHub ausgewählt ist.
  6. Suchen Sie nach Watcheraktion. Wählen Sie Watcheraktion, die von einem Watcherrunbook ausgelöste Ereignisse verarbeitet aus, und klicken Sie auf Importieren.
  7. Ändern Sie optional den Namen des Runbooks auf der Seite „Importieren“, und klicken Sie zum Importieren des Runbooks auf OK. Oben rechts im Browser sollte im Benachrichtigungsbereich die Meldung Import erfolgreich angezeigt werden.
  8. Wechseln Sie zur Seite Ihres Automation-Kontos, und klicken Sie auf der linken Seite auf Runbooks. Ihr neues Runbook sollte unter dem Namen aufgeführt werden, den Sie ihm im vorherigen Schritt gegeben haben. Klicken Sie auf das Runbook, wählen Sie auf der Detailseite des Runbooks Bearbeiten aus, und klicken Sie dann auf Veröffentlichen. Wählen Sie bei der Aufforderung Ja aus, um das Runbook zu veröffentlichen.

So erstellen Sie ein Aktionsrunbook, indem Sie es von der Azure Automation-GitHub-Organisation herunterladen:

  1. Navigieren Sie zur Seite der Azure Automation-GitHub-Organisation für Process-NewFile.ps1.
  2. Um das Runbook von GitHub herunterzuladen, wählen Sie Code auf der rechten Seite aus, und wählen Sie dann ZIP herunterladen aus, um den gesamten Code in einer ZIP-Datei herunterzuladen.
  3. Extrahieren Sie den Inhalt, und importieren Sie das Runbook.

Erstellen eines Watchertasks

In diesem Schritt konfigurieren Sie den Watchertask und verweisen dabei auf die Watcher- und Aktionsrunbooks, die in den vorherigen Abschnitten definiert wurden.

  1. Navigieren Sie zu Ihrem Automation-Konto, und wählen Sie unter Prozessautomatisierung die Option Watchertasks aus.

  2. Wählen Sie die Seite „Watchertasks“ aus, und klicken Sie auf +Watchertask hinzufügen.

  3. Geben Sie WatchMyFolder als Namen ein.

  4. Wählen Sie Watcher konfigurieren und dann das Runbook Watch-NewFile aus.

  5. Geben Sie die folgende Werte für die Parameter ein:

    • FOLDERPATH: Ein Ordner in dem Hybrid Runbook Worker, in dem neue Dateien erstellt werden. Beispiel: d:\examplefiles.
    • EXTENSION: Erweiterung für die Konfiguration. Lassen Sie dieses Feld leer, um alle Dateierweiterungen zu verarbeiten.
    • RECURSE: Rekursiver Vorgang. Behalten Sie hier den Standardwert bei.
    • RUN SETTINGS: Einstellung für die Ausführung des Runbooks. Wählen Sie den Hybrid Worker aus.
  6. Klicken Sie auf OK und dann auf Auswählen, um zur Seite „Watcher“ zurückzukehren.

  7. Wählen Sie Aktion konfigurieren und dann das Runbook Process-NewFile aus.

  8. Geben Sie die folgende Werte für die Parameter ein:

    • EVENTDATA: Ereignisdaten. Lassen Sie dieses Feld leer. Die Daten werden vom Watcherrunbook übergeben.
    • Laufzeiteinstellungen Einstellung für die Ausführung des Runbooks. Übernehmen Sie hier „Azure“, da dieses Runbook in Azure Automation ausgeführt wird.
  9. Klicken Sie auf OK und dann auf Auswählen, um zur Seite „Watcher“ zurückzukehren.

  10. Klicken Sie auf OK, um den Watchertask zu erstellen.

    Screenshot of configuring watcher action in the Azure portal.

Auslösen eines Watchers

Sie müssen einen Test wie unten beschrieben ausführen, um sicherzustellen, dass der Watchertask erwartungsgemäß funktioniert.

  1. Stellen Sie eine Remoteverbindung mit dem Hybrid Runbook Worker her.
  2. Öffnen Sie PowerShell, und erstellen Sie im Ordner eine Testdatei.
New-Item -Name ExampleFile1.txt

Das folgende Beispiel zeigt die erwartete Ausgabe.

    Directory: D:\examplefiles


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

Untersuchen der Ausgabe

  1. Navigieren Sie zu Ihrem Automation-Konto, und wählen Sie unter Prozessautomatisierung die Option Watchertasks aus.

  2. Wählen Sie den Watchertask WatchMyFolder aus.

  3. Klicken Sie unter Datenströme auf Watcherdatenströme anzeigen, um zu überprüfen, ob der Watcher die neue Datei gefunden und das Aktionsrunbook gestartet hat.

  4. Klicken Sie auf Watcheraktionsaufträge anzeigen, um den Aktionsrunbookauftrag anzuzeigen. Sie können jeden einzelnen Auftrag auswählen, um die Details anzuzeigen.

    Screenshot of a watcher action jobs from the Azure portal.

Im folgenden Beispiel sehen Sie die erwartete Ausgabe, wenn die neue Datei gefunden wurde:

Message is Process new file...

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

Nächste Schritte

Weitere Informationen zum Erstellen Ihres eigenen Runbooks finden Sie unter Erstellen eines PowerShell-Runbooks.