Azure 自動化會使用監視任務來尋找事件,並使用 PowerShell Runbook 觸發動作。 監看器任務包含兩個部分:監看器和動作。 監看員 Runbook 會在監看員工作中定義的間隔執行,並將資料輸出到動作 Runbook。
備註
21Vianet 所營運的 Microsoft Azure 不支援監看員工作。
這很重要
從 2020 年 5 月開始,使用 Azure Logic Apps 是監視事件、排程週期性工作和觸發動作的建議且支援的方式。 請參閱 使用 Azure Logic Apps 排程和執行週期性自動化工作、程式和工作流程。
本文會逐步引導您建立監看員工作,以監視何時將新檔案新增至目錄。 您將學習如何:
- 匯入監看員 Runbook
- 建立自動化變數
- 建立操作手冊
- 建立監視任務
- 觸發觀察者
- 檢查輸出
先決條件
若要完成本文,需要下列需求:
- Azure 訂用帳戶。 如果您還沒有,可以 啟用 MSDN 訂閱者權益 或註冊 免費帳戶。
- 自動化帳戶以保存監看員和動作 Runbook,以及監看員工作。
- 執行監看員工作的混合式 Runbook 背景工作角色。
- PowerShell Runbook。 監看員工作不支援 PowerShell 工作流程 Runbook 和圖形化 Runbook。
匯入監看員 Runbook
本文使用名為在目錄中尋找新檔案的監看員 Runbook,尋找目錄中的新檔案。 監看員 Runbook 會擷取資料夾檔案的最後已知寫入時間,並查看比該浮水印還新的任何檔案。
您也可以透過以下步驟,從入口網站將此 Runbook 匯入您的自動化帳戶。
- 登入 Azure 入口網站。
- 搜尋並選取 [自動化帳戶]。
- 在 [自動化帳戶] 頁面上,從清單中選取您的自動化帳戶名稱。
- 在左窗格中,選取 [執行手冊庫] 底下的 [流程自動化]。
- 請確定已在 [來源] 下拉式清單中選取 [GitHub]。
- 搜尋 Watcher 運行手冊。
- 選取 [在目錄中尋找新檔案的監看員 Runbook],然後在詳細資料頁面上選取 [匯入]。
- 為 Runbook 提供名稱,並選擇性地提供描述,然後按一下 [ 確定 ] 以將 Runbook 匯入您的自動化帳戶。 您應該會在視窗右上角的窗格中看到匯 入成功 訊息。
- 匯入的 Runbooks 會出現在清單中,當您從左側窗格選取 Runbooks 時,它們會顯示在您指定的名稱下。
- 按一下 Runbook,然後在 Runbook 詳細資料頁面上,選取 [編輯],然後按一下 [發佈]。 出現提示時,按一下 [是] 以發佈執行手冊。
您還可以從 Azure Automation GitHub 組織 下載這份 Runbook。
- 瀏覽至 Watch-NewFile.ps1 的 Azure 自動化 GitHub 組織頁面。
- 若要從 GitHub 下載 Runbook,請從頁面右側選取 [ 程式碼 ],然後選取 [ 下載 ZIP ] 以 zip 檔案下載整個程式碼。
- 擷取資料並 匯入 Runbook。
建立自動化變數
自動化變數可儲存前一個 Runbook 從各檔案讀取及儲存內容的時間戳記。
選取 共用資源 下的 變數 ,然後按一下 + 新增變數。
輸入 Watch-NewFileTimestamp 作為名稱。
選取 DateTime 作為類型。 它將默認為當前日期和時間。
按一下建立以建立自動化變數。
建立操作手冊
在監看員工作中,動作 Runbook 會用來處理從監看員 Runbook 傳來的資料。 您必須從 Azure 入口網站或 Azure 自動化 GitHub 組織匯入預先定義的動作 Runbook。
您可以從 Azure 入口網站將此 Runbook 匯入您的自動化帳戶:
- 登入 Azure 入口網站。
- 搜尋並選取 [自動化帳戶]。
- 在 [自動化帳戶] 頁面上,從清單中選取您的自動化帳戶名稱。
- 在左窗格中,選取 [執行手冊庫] 底下的 [流程自動化]。
- 請確定已在 [來源] 下拉式清單中選取 [GitHub]。
- 搜尋 [監看員動作]、選取 [處理監看員 Runbook 所觸發事件的監看員動作],然後按一下 [匯入]。
- 或者,在匯入頁面上變更 Runbook 的名稱,然後按一下 [ 確定 ] 以匯入 Runbook。 您應該會在瀏覽器右上角的通知窗格中看到匯 入成功 訊息。
- 移至您的自動化帳戶頁面,然後點擊左側的Runbooks。 您的新 Runbook 應該會顯示於您在上一個步驟中提供的名稱底下。 按一下 Runbook,然後在 Runbook 詳細資料頁面上,選取 [編輯],然後按一下 [發佈]。 出現提示時,按一下 [是] 以發佈執行手冊。
若要從 Azure 自動化 GitHub 組織下載,建立動作 Runbook,請執行以下步驟:
- 瀏覽至 Process-NewFile.ps1 的 Azure 自動化 GitHub 組織頁面。
- 若要從 GitHub 下載 Runbook,請從頁面右側選取 [ 程式碼 ],然後選取 [ 下載 ZIP ] 以 zip 檔案下載整個程式碼。
- 擷取資料並 匯入 Runbook。
建立監視任務
在此步驟中,您要將監看員工作設定為參考前面章節中所定義的監看員和動作 Runbook。
流覽至您的自動化帳戶,然後在程序自動化 下選取 監視器工作。
選取 [監看者工作] 頁面,然後按一下 [+ 新增監看者工作]。
輸入 WatchMyFolder 作為名稱。
選取 [設定監看員],然後選擇 [Watch-NewFile] Runbook。
輸入參數的下列值:
- FOLDERPATH - 混合式 Runbook Worker 上用來建立新檔案的資料夾,例如 d:\examplefiles。
- EXTENSION — 設定的延伸。 保留空白以處理所有副檔名。
- RECURSE - 遞迴作業。 將此值保留為預設值。
- RUN SETTINGS - 執行運行手冊的設定。 挑選混合式背景工作角色。
按一下 [確定],然後 按一下 [選取] 以返回 [監看程式] 頁面。
選取 [設定動作],然後選擇 [Process-NewFile] 運行手冊。
輸入參數的下列值:
- EVENTDATA - 事件資料。 保留空白。 資料會從監看員 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。