Перемещение файлов с помощью Фабрики данных Azure

Область применения:Фабрика данных Azure Azure Synapse Analytics

Совет

Попробуйте использовать фабрику данных в Microsoft Fabric, решение для аналитики с одним интерфейсом для предприятий. Microsoft Fabric охватывает все, от перемещения данных до обработки и анализа данных в режиме реального времени, бизнес-аналитики и отчетности. Узнайте, как бесплатно запустить новую пробную версию !

Действие копирования ADF поддерживает сценарий "переноса" для копирования двоичных файлов между разными хранилищами. Чтобы активировать его, установите для параметра deleteFilesAfterCompletion в действии копирования значение true. После этого действие копирования удалит файлы из хранилища источника данных после завершения задания.

В этой статье в качестве альтернативного подхода рассматривается шаблон решения, использующий для реализации того же сценария гибкий поток управления ADF в сочетании с действиями копирования и удаления. Одним из распространенных сценариев для этого шаблона является ситуация, когда в некоторой целевой папке исходного хранилища постоянно возникают файлы. С помощью триггера по расписанию конвейер ADF может периодически перемещать эти файлы из исходного хранилища в целевое. Метод, которым конвейер ADF обеспечивает перемещение файлов, заключается в их извлечении из целевой папки, копировании по одному в другую папку в целевом хранилище, а затем их удалении из целевой папки в исходном.

Примечание.

Обратите внимание, что этот шаблон предназначен для перемещения файлов, а не папок. Если для перемещения папки вы попытаетесь изменить набор данных таким образом, чтобы он содержал только путь к папке, а затем будете выполнять действия копирования и удаления в том же наборе данных, представляющем папку, требуется большая осторожность. Дело в том, что новые файлы НЕ должны поступать в папку между операциями копирования и удаления. Если же в папку поступили новые файлы сразу после того, как действие копирования завершило копирование файлов, а действие Delete еще не начало работу, вероятно, что действие Delete удалит новые файлы, которые еще НЕ успели скопироваться в назначенное место.

Информация о шаблоне решения

Этот шаблон извлекает файлы из исходного файлового хранилища. Затем каждый из них переносится в целевое хранилище.

Шаблон состоит из пяти действий.

  • GetMetadata возвращает список объектов, включая файлы и вложенные папки, из папки в исходном хранилище. Он не выполняет рекурсивное извлечение объектов.
  • Filter фильтрует список объектов, полученных с помощью действия GetMetadata, чтобы выбрать из них только файлы.
  • ForEach получает список файлов от действия Filter, а затем проходит по нему и передает каждый файл действиям Copy и Delete.
  • Copy копирует один файл из исходного в целевое хранилище.
  • Delete удаляет этот же файл из исходного хранилища.

В шаблоне определены пять параметров.

  • SourceStore_Location — это путь к папке исходного хранилища, из которой нужно переместить файлы.
  • SourceStore_Directory — это путь к вложенной папке исходного хранилища, из которой нужно переместить файлы.
  • DestinationStore_Location — это путь к папке целевого хранилища, в которую нужно переместить файлы.
  • DestinationStore_Directory — это путь к вложенной папке целевого хранилища, в которую нужно переместить файлы.

Использование шаблона решения

  1. Перейдите к шаблону Перемещение файлов. Выберите существующее или создайте новое подключение к исходному хранилищу, из которого нужно переместить файлы. Имейте в виду, что DataSource_Folder и DataSource_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.