使用監看員工作追蹤更新的檔案
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
本文使用名為 Watcher 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 以取得名稱。
針對類型選取 [日期時間 ]。 它會預設為目前的日期和時間。
按一下 [建立 ] 以建立自動化變數。
建立動作 Runbook
動作 Runbook 用於監看員工作,以處理從監看員 Runbook 傳遞給它的資料。 您必須從 Azure 自動化 GitHub 組織的 Azure 入口網站 匯入預先定義的動作 Runbook。
您可以從Azure 入口網站將這個 Runbook 匯入自動化帳戶:
- 登入 Azure 入口網站。
- 搜尋並選取 [自動化帳戶]。
- 在 [ 自動化帳戶] 頁面上,從清單中選取自動化帳戶的名稱。
- 在左窗格中,選取 [進程自動化 ] 底下的 [Runbook] 資源庫 。
- 請確定 已在 [ 來源 ] 下拉式清單中選取 GitHub 。
- 搜尋監 看員動作 ,選取 [監看員動作],以處理監看員 Runbook 所觸發的事件,然後按一下 [ 匯 入]。
- 或者,在匯入頁面上變更 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 - 混合式 Runbook 背景工作角色上建立新檔案的資料夾, 例如 d:\examplefiles 。
- 擴充 功能 - 組態的擴充功能。 保留空白來處理所有副檔名。
- RECURSE - 遞迴作業。 將此值保留為預設值。
- 執行設定 - 執行 Runbook 的設定。 挑選混合式背景工作角色。
按一下 [ 確定 ],然後 選取 以返回監看員頁面。
選取 [ 設定動作 ],然後選擇 [Process-NewFile Runbook]。
輸入參數的下列值:
- EVENTDATA - 事件資料。 保留空白。 資料會從監看員 Runbook 傳入。
- 執行設定 - 執行 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 。