Перемещение файлов с помощью Фабрики данных 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 — это путь к вложенной папке целевого хранилища, в которую нужно переместить файлы.
Использование шаблона решения
Перейдите к шаблону Перемещение файлов. Выберите существующее или создайте новое подключение к исходному хранилищу, из которого нужно переместить файлы. Имейте в виду, что DataSource_Folder и DataSource_File ссылаются на одно и то же подключение к исходному хранилищу файлов.
Выберите существующее или создайте новое подключение к целевому хранилищу, в которое нужно переместить файлы.
Выберите Использовать этот шаблон.
Откроется конвейер, как показано в следующем примере:
Выберите Отладка, введите Параметры, а затем нажмите Готово. Параметры — это путь к папке, из которой нужно переместить файлы, и путь к папке, в которую их нужно перенести.
Просмотрите результаты.