使用 Azure Data Factory 移動檔案

適用於:Azure Data Factory Azure Synapse Analytics

提示

試用 Microsoft Fabric 中的 Data Factory,這是適用於企業的全方位分析解決方案。 Microsoft Fabric 涵蓋從資料移動到資料科學、即時分析、商業智慧和報告的所有項目。 了解如何免費開始新的試用

ADF 複製活動在儲存體存放區之間複製二進位檔案時,具有「移動」案例的內建支援。 啟用的方式是在複製活動中將「deleteFilesAfterCompletion」設定為 true。 如此一來,複製活動會在作業完成之後,從資料來源存放區中刪除檔案。

本文說明解決方案範本作為另一種方法,利用 ADF 彈性控制流程加上複製活動和刪除活動,以達到相同的案例。 使用此範本的其中一個常見案例:檔案會持續卸載至來源存放區的登陸資料夾。 藉由建立排程觸發程序,ADF 管線可以定期將這些檔案從來源移至目的地存放區。 ADF 管線達成「移動檔案」的方式是從登陸資料夾取得檔案、將每個檔案複製到目的地存放區上的另一個資料夾,然後從來源存放區上的登陸資料夾刪除相同的檔案。

注意

請注意,此範本的設計目的是移動檔案,而不是移動資料夾。 如果您想要藉由變更資料集 (使其只包含資料夾路徑),然後使用複製活動和刪除活動來參考代表資料集的相同資料集以便移動資料夾,您必須非常小心。 這是因為您必須確定在複製作業與刪除作業之間,不會有新檔案抵達資料夾。 如果在您的複製活動剛剛完成複製作業但是 Delete 活動尚未開始時就有新檔案抵達資料夾,Delete 活動可能會刪除這個新抵達檔案,系統未透過刪除整個資料夾將該檔案複製到目的地。

關於此解決方案範本

此範本會從來源檔案型存放區取得檔案。 然後會將每個檔案都移至目的地存放區。

該範本包含四個活動:

  • GetMetadata 會取得物件清單,包括來源存放區上資料夾的檔案和子資料夾。 不會以遞迴方式擷取物件。
  • Filter 會篩選 GetMetadata 活動的物件清單,只選取檔案。
  • ForEach 會從 Filter 活動取得檔案清單,然後逐一查看清單並且將每個檔案傳遞至「複製」活動和「刪除」活動。
  • Copy 會將檔案從來源複製到目的地存放區。
  • Delete 會從來源存放區刪除相同的檔案。

範本會定義四個參數:

  • SourceStore_Location 是來源存放區的資料夾路徑,您想要從其中移動檔案。
  • SourceStore_Directory 是來源存放區的子資料夾路徑,您想要從其中移動檔案。
  • DestinationStore_Location 是目的地存放區的資料夾路徑,您想要將檔案移動到其中。
  • DestinationStore_Directory 是目的地存放區的子資料夾路徑,您想要將檔案移動到其中。

如何使用此解決方案範本

  1. 移至移動檔案範本。 選取現有的連線,或建立與您要從其中移動檔案的來源檔案存放區的連線。 請注意,DataSource_FolderDataSource_File 是來源檔案存放區相同連線的參考。

    Screenshot showing creation of a new connection to the source.

  2. 選取現有的連線,或建立與您要將檔案移動到其中的目的地檔案存放區的連線。

    Screenshot showing creation a new connection to the destination.

  3. 選取 [使用此範本] 索引標籤。

  4. 您會看到管線,如下列範例中所示:

    Screenshot showing the pipeline.

  5. 選取 [偵錯],輸入 [參數],然後選取 [完成]。 參數是您要從其中移動檔案的資料夾路徑,以及您要將檔案移動到其中的資料夾路徑。

    Screenshot showing where to run the pipeline.

  6. 檢閱結果。

    Screenshot showing the result of the pipeline run.