共用方式為


使用監控任務追蹤更新的檔案

Azure 自動化會使用監視任務來尋找事件,並使用 PowerShell Runbook 觸發動作。 監看器任務包含兩個部分:監看器和動作。 監看員 Runbook 會在監看員工作中定義的間隔執行,並將資料輸出到動作 Runbook。

備註

21Vianet 所營運的 Microsoft Azure 不支援監看員工作。

這很重要

從 2020 年 5 月開始,使用 Azure Logic Apps 是監視事件、排程週期性工作和觸發動作的建議且支援的方式。 請參閱 使用 Azure Logic Apps 排程和執行週期性自動化工作、程式和工作流程

本文會逐步引導您建立監看員工作,以監視何時將新檔案新增至目錄。 您將學習如何:

  • 匯入監看員 Runbook
  • 建立自動化變數
  • 建立操作手冊
  • 建立監視任務
  • 觸發觀察者
  • 檢查輸出

先決條件

若要完成本文,需要下列需求:

匯入監看員 Runbook

本文使用名為在目錄中尋找新檔案的監看員 Runbook,尋找目錄中的新檔案。 監看員 Runbook 會擷取資料夾檔案的最後已知寫入時間,並查看比該浮水印還新的任何檔案。

您也可以透過以下步驟,從入口網站將此 Runbook 匯入您的自動化帳戶。

  1. 登入 Azure 入口網站
  2. 搜尋並選取 [自動化帳戶]。
  3. [自動化帳戶] 頁面上,從清單中選取您的自動化帳戶名稱。
  4. 在左窗格中,選取 [執行手冊庫] 底下的 [流程自動化]
  5. 請確定已在 [來源] 下拉式清單中選取 [GitHub]。
  6. 搜尋 Watcher 運行手冊
  7. 選取 [在目錄中尋找新檔案的監看員 Runbook],然後在詳細資料頁面上選取 [匯入]
  8. 為 Runbook 提供名稱,並選擇性地提供描述,然後按一下 [ 確定 ] 以將 Runbook 匯入您的自動化帳戶。 您應該會在視窗右上角的窗格中看到匯 入成功 訊息。
  9. 匯入的 Runbooks 會出現在清單中,當您從左側窗格選取 Runbooks 時,它們會顯示在您指定的名稱下。
  10. 按一下 Runbook,然後在 Runbook 詳細資料頁面上,選取 [編輯],然後按一下 [發佈]。 出現提示時,按一下 [是] 以發佈執行手冊。

您還可以從 Azure Automation GitHub 組織 下載這份 Runbook。

  1. 瀏覽至 Watch-NewFile.ps1 的 Azure 自動化 GitHub 組織頁面。
  2. 若要從 GitHub 下載 Runbook,請從頁面右側選取 [ 程式碼 ],然後選取 [ 下載 ZIP ] 以 zip 檔案下載整個程式碼。
  3. 擷取資料並 匯入 Runbook

建立自動化變數

自動化變數可儲存前一個 Runbook 從各檔案讀取及儲存內容的時間戳記。

  1. 選取 共用資源 下的 變數 ,然後按一下 + 新增變數

  2. 輸入 Watch-NewFileTimestamp 作為名稱。

  3. 選取 DateTime 作為類型。 它將默認為當前日期和時間。

    建立新變數刀鋒視窗的螢幕擷取畫面。

  4. 按一下建立以建立自動化變數。

建立操作手冊

在監看員工作中,動作 Runbook 會用來處理從監看員 Runbook 傳來的資料。 您必須從 Azure 入口網站或 Azure 自動化 GitHub 組織匯入預先定義的動作 Runbook。

您可以從 Azure 入口網站將此 Runbook 匯入您的自動化帳戶:

  1. 登入 Azure 入口網站
  2. 搜尋並選取 [自動化帳戶]。
  3. [自動化帳戶] 頁面上,從清單中選取您的自動化帳戶名稱。
  4. 在左窗格中,選取 [執行手冊庫] 底下的 [流程自動化]
  5. 請確定已在 [來源] 下拉式清單中選取 [GitHub]。
  6. 搜尋 [監看員動作]、選取 [處理監看員 Runbook 所觸發事件的監看員動作],然後按一下 [匯入]
  7. 或者,在匯入頁面上變更 Runbook 的名稱,然後按一下 [ 確定 ] 以匯入 Runbook。 您應該會在瀏覽器右上角的通知窗格中看到匯 入成功 訊息。
  8. 移至您的自動化帳戶頁面,然後點擊左側的Runbooks。 您的新 Runbook 應該會顯示於您在上一個步驟中提供的名稱底下。 按一下 Runbook,然後在 Runbook 詳細資料頁面上,選取 [編輯],然後按一下 [發佈]。 出現提示時,按一下 [是] 以發佈執行手冊。

若要從 Azure 自動化 GitHub 組織下載,建立動作 Runbook,請執行以下步驟:

  1. 瀏覽至 Process-NewFile.ps1 的 Azure 自動化 GitHub 組織頁面。
  2. 若要從 GitHub 下載 Runbook,請從頁面右側選取 [ 程式碼 ],然後選取 [ 下載 ZIP ] 以 zip 檔案下載整個程式碼。
  3. 擷取資料並 匯入 Runbook

建立監視任務

在此步驟中,您要將監看員工作設定為參考前面章節中所定義的監看員和動作 Runbook。

  1. 流覽至您的自動化帳戶,然後在程序自動化 下選取 監視器工作

  2. 選取 [監看者工作] 頁面,然後按一下 [+ 新增監看者工作]。

  3. 輸入 WatchMyFolder 作為名稱。

  4. 選取 [設定監看員],然後選擇 [Watch-NewFile] Runbook。

  5. 輸入參數的下列值:

    • FOLDERPATH - 混合式 Runbook Worker 上用來建立新檔案的資料夾,例如 d:\examplefiles
    • EXTENSION — 設定的延伸。 保留空白以處理所有副檔名。
    • RECURSE - 遞迴作業。 將此值保留為預設值。
    • RUN SETTINGS - 執行運行手冊的設定。 挑選混合式背景工作角色。
  6. 按一下 [確定],然後 按一下 [選取] 以返回 [監看程式] 頁面。

  7. 選取 [設定動作],然後選擇 [Process-NewFile] 運行手冊。

  8. 輸入參數的下列值:

    • EVENTDATA - 事件資料。 保留空白。 資料會從監看員 Runbook 傳入。
    • 執行設定 - 設定用於執行操作手冊的相關參數。 保留為 Azure,因為此 Runbook 是在 Azure 自動化中執行。
  9. 按一下 [確定],然後 按一下 [選取] 以返回 [監看程式] 頁面。

  10. 按一下 確定 以建立監看器工作。

    在 Azure 入口網站中設定監看器動作的螢幕擷取畫面。

觸發觀察者

您必須執行測試,如下所述,以確保監看器工作如預期般運作。

  1. 遠端連線至混合式 Runbook 背景工作角色。
  2. 開啟 PowerShell ,並在資料夾中建立測試檔案。
New-Item -Name ExampleFile1.txt

下列範例顯示預期的輸出。

    Directory: D:\examplefiles


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

檢查輸出

  1. 流覽至您的自動化帳戶,然後在程序自動化 下選取 監視器工作

  2. 選取監看員工作 WatchMyFolder

  3. 按一下 [串流] 底下的 [檢視監看員串流],確認監看員已找到新檔案並已啟動動作 Runbook。

  4. 若要查看動作 Runbook 作業,請按一下 [檢視監看員動作作業]。 可以選取每個工作來檢視工作的詳細資料。

    Azure 入口網站中監看員動作工作的螢幕擷取畫面。

找到新檔案時的預期輸出可以在下列範例中看到:

Message is Process new file...

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

後續步驟

若要深入瞭解如何撰寫您自己的 Runbook,請參閱 建立 PowerShell Runbook