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:
- Azure-Abonnement. Wenn Sie noch kein Abonnement haben, können Sie Ihre MSDN-Abonnentenvorteile aktivieren oder sich für ein kostenloses Konto registrieren.
- Automation-Konto, um die Watcher- und Aktionsrunbooks und den Watchertask aufzunehmen.
- Hybrid Runbook Worker, in dem der Watchertask ausgeführt wird.
- PowerShell-Runbooks. PowerShell-Workflow-Runbooks und grafische Runbooks werden von Watchertasks nicht unterstützt.
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:
- Melden Sie sich beim Azure-Portal an.
- Suchen Sie nach Automation-Konten, und wählen Sie diese Option aus.
- Wählen Sie auf der Seite Automation-Konten den Namen Ihres Automation-Kontos in der Liste aus.
- Wählen Sie im linken Bereich unter Prozessautomatisierung die Option Runbookkatalog aus.
- Stellen Sie sicher, dass in der Dropdownliste Quelle die Option GitHub ausgewählt ist.
- Suchen Sie nach Watcherrunbook.
- Wählen Sie Watcherrunbook, das nach neuen Dateien in einem Verzeichnis sucht und dann auf der Detailseite die Option Importieren aus.
- 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.
- Das importierte Runbook wird in der Liste unter dem von Ihnen festgelegten Namen angezeigt, wenn Sie im linken Bereich „Runbooks“ auswählen.
- 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.
- Navigieren Sie zur Seite der Azure Automation-GitHub-Organisation für Watch-NewFile.ps1.
- 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.
- 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.
Wählen Sie unter Freigegebene Ressourcen die Option Variablen aus, und klicken Sie dann auf +Variable hinzufügen.
Geben Sie als Namen Watch-NewFileTimestamp ein.
Wählen Sie den Typ DateTime aus. Standardmäßig werden das aktuelle Datum und die aktuelle Uhrzeit verwendet.
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:
- Melden Sie sich beim Azure-Portal an.
- Suchen Sie nach Automation-Konten, und wählen Sie diese Option aus.
- Wählen Sie auf der Seite Automation-Konten den Namen Ihres Automation-Kontos in der Liste aus.
- Wählen Sie im linken Bereich unter Prozessautomatisierung die Option Runbookkatalog aus.
- Stellen Sie sicher, dass in der Dropdownliste Quelle die Option GitHub ausgewählt ist.
- Suchen Sie nach Watcheraktion. Wählen Sie Watcheraktion, die von einem Watcherrunbook ausgelöste Ereignisse verarbeitet aus, und klicken Sie auf Importieren.
- Ä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.
- 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:
- Navigieren Sie zur Seite der Azure Automation-GitHub-Organisation für Process-NewFile.ps1.
- 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.
- 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.
Navigieren Sie zu Ihrem Automation-Konto, und wählen Sie unter Prozessautomatisierung die Option Watchertasks aus.
Wählen Sie die Seite „Watchertasks“ aus, und klicken Sie auf +Watchertask hinzufügen.
Geben Sie WatchMyFolder als Namen ein.
Wählen Sie Watcher konfigurieren und dann das Runbook Watch-NewFile aus.
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.
Klicken Sie auf OK und dann auf Auswählen, um zur Seite „Watcher“ zurückzukehren.
Wählen Sie Aktion konfigurieren und dann das Runbook Process-NewFile aus.
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.
Klicken Sie auf OK und dann auf Auswählen, um zur Seite „Watcher“ zurückzukehren.
Klicken Sie auf OK, um den Watchertask zu erstellen.
Auslösen eines Watchers
Sie müssen einen Test wie unten beschrieben ausführen, um sicherzustellen, dass der Watchertask erwartungsgemäß funktioniert.
- Stellen Sie eine Remoteverbindung mit dem Hybrid Runbook Worker her.
- Ö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
Navigieren Sie zu Ihrem Automation-Konto, und wählen Sie unter Prozessautomatisierung die Option Watchertasks aus.
Wählen Sie den Watchertask WatchMyFolder aus.
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.
Klicken Sie auf Watcheraktionsaufträge anzeigen, um den Aktionsrunbookauftrag anzuzeigen. Sie können jeden einzelnen Auftrag auswählen, um die Details anzuzeigen.
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.