使用監看員工作追蹤更新的檔案
Azure 自動化會使用監看員工作搭配 PowerShell Runbook 來尋找事件和觸發動作。 監看員工作包含兩個部分:監看員和動作。 監看員 Runbook 會在監看員工作中定義的間隔執行,並將資料輸出到動作 Runbook。
注意
21Vianet 操作的 Microsoft Azure 不支援監看員工作。
重要
自 2020 年 5 月起,我們建議及支援您使用 Azure Logic Apps 監視事件、排程週期性工作及觸發動作。 使用 Azure Logic Apps 排定和執行週期性自動化工作、程序和工作流程。
本文會逐步引導您建立監看員工作,以監視目錄中何時新增檔案。 您將學習如何:
- 匯入監看員 Runbook
- 建立自動化變數
- 建立動作 Runbook
- 建立監看員工作
- 觸發監看員
- 檢查輸出
必要條件
若要完成本文所述操作,您需備妥以下項目:
- Azure 訂閱。 如果您沒有這類帳戶,可以啟用自己的 MSDN 訂戶權益或註冊免費帳戶。
- 自動化帳戶以保存監看員和動作 Runbook,以及監看員工作。
- 執行監看員工作的混合式 Runbook 背景工作角色。
- PowerShell Runbook。 監看員工作不支援 PowerShell 工作流程 Runbook 和圖形化 Runbook。
匯入監看員 Runbook
本文使用名為在目錄中尋找新檔案的監看員 Runbook,尋找目錄中的新檔案。 監看員 Runbook 會擷取資料夾檔案的最後已知寫入時間,並查看比該浮水印還新的任何檔案。
您也可以透過以下步驟,從入口網站將此 Runbook 匯入您的自動化帳戶。
- 登入 Azure 入口網站。
- 搜尋並選取 [自動化帳戶]。
- 在 [自動化帳戶] 頁面上,從清單中選取您的自動化帳戶名稱。
- 在左側窗格的 [流程自動化] 底下,選取 [Runbook 資源庫]。
- 確認您已在 [來源] 下拉式清單中選取 [GitHub]。
- 搜尋 [監看員 Runbook]。
- 選取 [在目錄中尋找新檔案的監看員 Runbook],然後在詳細資料頁面上選取 [匯入]。
- 為 Runbook 命名並自行決定是否輸入描述,然後按一下 [確定],將 Runbook 匯入您的自動化帳戶。 視窗右上方的窗格中應該會顯示「匯入成功」訊息。
- 您從左側窗格中選取 [Runbook] 時,匯入的 Runbook 會出現在清單中,上面顯示您所提供的 Runbook 名稱。
- 按一下 Runbook,接著在詳細資料頁面上按一下,然後選取 [編輯] 並按一下 [發佈]。 出現提示時,按一下 [是] 以發佈 Runbook。
您也可以從 Azure 自動化 GitHub 組織下載 Runbook。
- 瀏覽至 Watch-NewFile.ps1 的 Azure 自動化 GitHub 組織頁面。
- 若要從 GitHub 下載 Runbook,請從頁面右側選取 [程式碼],然後選取 [下載 ZIP],即可將完整程式碼下載成 zip 檔案。
- 擷取內容並匯入 Runbook。
建立自動化變數
自動化變數可儲存前一個 Runbook 從各檔案讀取及儲存內容的時間戳記。
選取 [共用資源] 底下的 [變數],然後按一下 [+ 新增變數]。
輸入 [Watch-NewFileTimestamp] 作為名稱。
選取 [DateTime] 作為類型, 預設值為當下的日期和時間。
按一下 [建立] 來建立自動化變數。
建立動作 Runbook
在監看員工作中,動作 Runbook 會用來處理從監看員 Runbook 傳來的資料。 您必須從 Azure 入口網站或 Azure 自動化 GitHub 組織匯入預先定義的動作 Runbook。
您可以從 Azure 入口網站將此 Runbook 匯入您的自動化帳戶,步驟如下:
- 登入 Azure 入口網站。
- 搜尋並選取 [自動化帳戶]。
- 在 [自動化帳戶] 頁面上,從清單中選取您的自動化帳戶名稱。
- 在左側窗格的 [流程自動化] 底下,選取 [Runbook 資源庫]。
- 確認您已在 [來源] 下拉式清單中選取 [GitHub]。
- 搜尋 [監看員動作]、選取 [處理監看員 Runbook 所觸發事件的監看員動作],然後按一下 [匯入]。
- 您可以在匯入頁面上選擇是否變更 Runbook 的名稱,然後按一下 [確定],將 Runbook 匯入。 瀏覽器右上方的通知窗格中應該會顯示「匯入成功」訊息。
- 前往您的 [自動化帳戶] 頁面,然後按一下左側的 [Runbook]。 您的新 Runbook 應該會顯示於您在上一個步驟中提供的名稱底下。 按一下 Runbook,接著在詳細資料頁面上按一下,然後選取 [編輯] 並按一下 [發佈]。 出現提示時,按一下 [是] 以發佈 Runbook。
若要從 Azure 自動化 GitHub 組織下載,建立動作 Runbook,請執行以下步驟:
- 瀏覽至 Process-NewFile.ps1 的 Azure 自動化 GitHub 組織頁面。
- 若要從 GitHub 下載 Runbook,請從頁面右側選取 [程式碼],然後選取 [下載 ZIP],即可將完整程式碼下載成 zip 檔案。
- 擷取內容並匯入 Runbook。
建立監看員工作
在此步驟中,您要將監看員工作設定為參考前面章節中所定義的監看員和動作 Runbook。
瀏覽至自動化帳戶,然後選取 [程序自動化] 下的 [監看員工作]。
選取 [監看員工作] 頁面,然後按一下 [+ 新增監看員工作]。
輸入 WatchMyFolder 作為名稱。
選取 [設定監看員],然後選擇 [Watch-NewFile] Runbook。
為各個參數輸入下列值︰
- FOLDERPATH - 混合式背景工作角色上的資料夾,新檔案建立於其中,例如,d:\examplefiles。
- EXTENSION - 組態的副檔名。 保留空白以處理所有副檔名。
- RECURSE - 遞迴作業。 將此值保持為預設值。
- RUN SETTINGS - 用於執行 Runbook 的設定。 挑選混合式背景工作角色。
按一下 [確定],然後按一下 [選取] 以返回 [監看員] 頁面。
選取 [設定動作],然後選擇 [Process-NewFile] Runbook。
為各個參數輸入下列值︰
- EVENTDATA - 事件資料。 保留空白。 資料會從監看員 Runbook 傳入。
- Run Settings-用於執行 Runbook 的設定。 保留為 Azure,因為此 Runbook 是在 Azure 自動化中執行。
按一下 [確定],然後按一下 [選取] 以返回 [監看員] 頁面。
按一下 [確定] 以建立監看員工作。
觸發監看員
您必須執行如下所述的測試,以確保監看員工作會如預期般運作。
- 遠端連線至混合式 Runbook 背景工作角色。
- 開啟 PowerShell 並在資料夾中建立測試檔案。
New-Item -Name ExampleFile1.txt
下列範例會顯示預期的輸出。
Directory: D:\examplefiles
Mode LastWriteTime Length Name
---- ------------- ------ ----
-a---- 12/11/2017 9:05 PM 0 ExampleFile1.txt
檢查輸出
瀏覽至自動化帳戶,然後選取 [程序自動化] 下的 [監看員工作]。
選取 WatchMyFolder 監看員工作。
按一下 [串流] 底下的 [檢視監看員串流],確認監看員已找到新檔案並已啟動動作 Runbook。
若要查看動作 Runbook 作業,請按一下 [檢視監看員動作作業]。 您可以選取每個作業來檢視作業的詳細資料。
您可以在下列範例中看到系統找到新檔案時的預期輸出:
Message is Process new file...
Passed in data is @{FileName=D:\examplefiles\ExampleFile1.txt; Length=0}
下一步
若要深入瞭解如何製作您自己的 Runbook,請參閱建立 PowerShell Runbook。