共用方式為


使用監看員工作追蹤更新的檔案

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

注意

21Vianet 操作的 Microsoft Azure 不支援監看員工作。

重要

自 2020 年 5 月起,我們建議及支援您使用 Azure Logic Apps 監視事件、排程週期性工作及觸發動作。 使用 Azure Logic Apps 排定和執行週期性自動化工作、程序和工作流程

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

  • 匯入監看員 Runbook
  • 建立自動化變數
  • 建立動作 Runbook
  • 建立監看員工作
  • 觸發監看員
  • 檢查輸出

必要條件

若要完成本文所述操作,您需備妥以下項目:

匯入監看員 Runbook

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

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

  1. 登入 Azure 入口網站
  2. 搜尋並選取 [自動化帳戶]。
  3. [自動化帳戶] 頁面上,從清單中選取您的自動化帳戶名稱。
  4. 在左側窗格的 [流程自動化] 底下,選取 [Runbook 資源庫]
  5. 確認您已在 [來源] 下拉式清單中選取 [GitHub]
  6. 搜尋 [監看員 Runbook]
  7. 選取 [在目錄中尋找新檔案的監看員 Runbook],然後在詳細資料頁面上選取 [匯入]
  8. 為 Runbook 命名並自行決定是否輸入描述,然後按一下 [確定],將 Runbook 匯入您的自動化帳戶。 視窗右上方的窗格中應該會顯示「匯入成功」訊息
  9. 您從左側窗格中選取 [Runbook] 時,匯入的 Runbook 會出現在清單中,上面顯示您所提供的 Runbook 名稱。
  10. 按一下 Runbook,接著在詳細資料頁面上按一下,然後選取 [編輯] 並按一下 [發佈]。 出現提示時,按一下 [是] 以發佈 Runbook。

您也可以從 Azure 自動化 GitHub 組織下載 Runbook。

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

建立自動化變數

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

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

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

  3. 選取 [DateTime] 作為類型, 預設值為當下的日期和時間。

    Screenshot of creating a new variable blade.

  4. 按一下 [建立] 來建立自動化變數。

建立動作 Runbook

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

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

  1. 登入 Azure 入口網站
  2. 搜尋並選取 [自動化帳戶]。
  3. [自動化帳戶] 頁面上,從清單中選取您的自動化帳戶名稱。
  4. 在左側窗格的 [流程自動化] 底下,選取 [Runbook 資源庫]
  5. 確認您已在 [來源] 下拉式清單中選取 [GitHub]
  6. 搜尋 [監看員動作]、選取 [處理監看員 Runbook 所觸發事件的監看員動作],然後按一下 [匯入]
  7. 您可以在匯入頁面上選擇是否變更 Runbook 的名稱,然後按一下 [確定],將 Runbook 匯入。 瀏覽器右上方的通知窗格中應該會顯示「匯入成功」訊息。
  8. 前往您的 [自動化帳戶] 頁面,然後按一下左側的 [Runbook]。 您的新 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 - 混合式背景工作角色上的資料夾,新檔案建立於其中,例如,d:\examplefiles
    • EXTENSION - 組態的副檔名。 保留空白以處理所有副檔名。
    • RECURSE - 遞迴作業。 將此值保持為預設值。
    • RUN SETTINGS - 用於執行 Runbook 的設定。 挑選混合式背景工作角色。
  6. 按一下 [確定],然後按一下 [選取] 以返回 [監看員] 頁面。

  7. 選取 [設定動作],然後選擇 [Process-NewFile] Runbook。

  8. 為各個參數輸入下列值︰

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

  10. 按一下 [確定] 以建立監看員工作。

    Screenshot of configuring watcher action in the Azure portal.

觸發監看員

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

  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 作業,請按一下 [檢視監看員動作作業]。 您可以選取每個作業來檢視作業的詳細資料。

    Screenshot of a watcher action jobs from the Azure portal.

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

Message is Process new file...

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

下一步

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