使用 Azure Data Factory 依 LastModifiedDate 複製新檔案和已變更檔案
適用於:Azure Data Factory Azure Synapse Analytics
提示
試用 Microsoft Fabric 中的 Data Factory,這是適用於企業的全方位分析解決方案。 Microsoft Fabric 涵蓋從資料移動到資料科學、即時分析、商業智慧和報告的所有項目。 了解如何免費啟動新的試用版!
本文描述解決方案範本,您可僅依據 LastModifiedDate 的新文件及已變更文件,將其從檔案型存放區複製至目的地存放區。
關於此解決方案範本
此範本會先依屬性 LastModifiedDate 選取新檔案和已變更檔案,然後將所選檔案從資料來源存放區複製到資料目的地存放區。
範本包含一個活動:
- 複製 依 LastModifiedDate,將新檔案和已變更檔案從檔案存放區複製到目的地存放區。
範本會定義六個參數:
- 「FolderPath_Source」是您可以從來源存放區讀取檔案的資料夾路徑。 您必須以自己的資料夾路徑取代預設值。
- 「Directory_Source」是您可以從來源存放區讀取檔案的子資料夾路徑。 您必須以自己的子資料夾路徑取代預設值。
- 「FolderPath_Destination」是您要將檔案複製到目的地存放區的資料夾路徑。 您必須以自己的資料夾路徑取代預設值。
- 「Directory_Destination」是您要將檔案複製到目的地存放區的子資料夾路徑。 您必須以自己的子資料夾路徑取代預設值。
- 「LastModified_From」用來選取其 LastModifiedDate 屬性在此日期時間值之後或等於的檔案。 為了只選取上次未複製的新檔案,此日期時間值可以是上次觸發管線的時間。 您可以將預設值 '2019-02-01T00:00:00Z' 以 UTC 時區預期的 LastModifiedDate 來取代。
- 「LastModified_To」用來選取其 LastModifiedDate 屬性在此日期時間值之前的檔案。 為了只選取先前執行中未複製的新檔案,此 datetime 值可以是目前的時間。 您可以將預設值 '2019-02-01T00:00:00Z' 以 UTC 時區預期的 LastModifiedDate 來取代。
如何使用此解決方案範本
從 Azure Data Factory 中的 [作者] 索引標籤覽至範本庫,然後選擇+按鈕、管線,最後選擇範本庫。
搜尋範本 [僅依 LastModifiedDate 複製新檔案],選取它,然後選取 [繼續]。
建立與目的地存放區的新連線。 目的地存放區是您要放置複製檔案的位置。
建立與來源儲存體存放區的新連線。 來源儲存體存放區即是您想要複製檔案的來源。
選取使用此範本。
您會看到面板中可用的管線,如下列範例所示:
選取 [偵錯],寫入 [參數] 的值,然後選取 [完成]。 在接下來的圖片中,我們會將參數設定如下。
- FolderPath_Source = sourcefolder
- Directory_Source = subfolder
- FolderPath_Destination = destinationfolder
- Directory_Destination = subfolder
- LastModified_From = 2019-02-01T00:00:00Z
- LastModified_To = 2019-03-01T00:00:00Z
此範例指出上次在時間範圍內修改的檔案(2019-02-01T00:00:00Z 至 2019-03-01T00:00:00Z)將會從來源路徑 sourcefolder/subfolder/subfolder 複製到目的地路徑目的地資料夾/子資料夾。 您可以將這些時間或資料夾取代為您自己的參數。
檢閱結果。 您只會看到上次在設定的時間範圍內修改的檔案會複製到目的地存放區。
現在您可以新增輪轉視窗觸發程序來自動執行此管線,讓管線一律只能定期依 LastModifiedDate 複製新檔案的和已變更檔案。 選取 [新增觸發],然後選取 [新增/編輯]。
在 [新增觸發程序] 視窗中,選取 [+ 新增]。
針對觸發程序類型選取 [輪轉視窗],設定為 [每 15 分鐘] 定期(您可以變更為任何時間間隔)。 針對 [已啟用] 方塊選取 [是],然後選取 [確定]。
設定 [觸發程序執行參數] 的值,如下所示,然後選取 [完成]。
- FolderPath_Source = sourcefolder。 您可以取代為來源資料存放區中的資料夾。
- Directory_Source = subfolder。 您可以取代為來源資料存放區中的子資料夾。
- FolderPath_Destination = destinationfolder。 您可以取代為目的地資料存放區中的資料夾。
- Directory_Destination = subfolder。 您可以取代為目的地資料存放區中的子資料夾。
- LastModified_From = @trigger().outputs.windowStartTime。 這是觸發程式的系統變數,可決定上次觸發管線的時間。
- LastModified_To = @trigger().outputs.windowEndTime。 這是觸發程式的系統變數,決定這次觸發管線的時間。
選取 [全部發佈]。
在資料來源存放區的來源資料夾中建立新檔案。 您現在正等待管線自動觸發,且只會將新檔案複製到目的地存放區。
選取 左側導覽面板中的 [監視] 索引標籤,如果觸發程式週期設定為每 15 分鐘一次,請等候大約 15 分鐘。
檢閱結果。 您會看到管線會每隔 15 分鐘自動觸發一次,而且只會將來源存放區的新或變更檔案複製到每個管線執行中的目的地存放區。