Копирование новых и измененных файлов с учетом атрибута LastModifiedDate в Фабрике данных Azure
ОБЛАСТЬ ПРИМЕНЕНИЯ: Фабрика данных Azure
Azure Synapse Analytics
Совет
Попробуйте использовать фабрику данных в Microsoft Fabric, решение для аналитики с одним интерфейсом для предприятий. Microsoft Fabric охватывает все, от перемещения данных до обработки и анализа данных в режиме реального времени, бизнес-аналитики и отчетности. Узнайте, как бесплатно запустить новую пробную версию !
В этой статье описан шаблон решения, который можно использовать для копирования новых и измененных файлов только по значению атрибута LastModifiedDate из файлового хранилища в любое целевое хранилище.
Информация о шаблоне решения
Этот шаблон сначала выбирает новые и измененные файлы только по их атрибуту LastModifiedDate, а затем копирует их из исходного хранилища данных в целевое.
Шаблон содержит одно действие:
- Копировать — копирует новые и измененные файлы только по их атрибуту LastModifiedDate из хранилища файлов в целевое хранилище.
В шаблоне определены шесть параметров:
- FolderPath_Source — путь к папке, в которой можно считать файлы из исходного хранилища. Вам нужно заменить значение по умолчанию на правильный путь к папке.
- Directory_Source — путь к вложенной папке, в которой можно считать файлы из исходного хранилища. Вам нужно заменить значение по умолчанию на правильный путь к вложенной папке.
- FolderPath_Destination — путь к папке в целевом хранилище, в которую нужно скопировать файлы. Вам нужно заменить значение по умолчанию на правильный путь к папке.
- Directory_Destination — путь к вложенной папке в целевом хранилище, в которую нужно скопировать файлы. Вам нужно заменить значение по умолчанию на правильный путь к вложенной папке.
- LastModified_From — используется для выбора файлов, у которых значение атрибута LastModifiedDate больше или равно этому значению даты и времени. Чтобы выбрать только новые файлы, которые не были скопированы в последний раз, это значение datetime может быть временем, когда конвейер был активирован в последний раз. Вы можете заменить значение по умолчанию "2019-02-01T00:00:00Z" ожидаемым значением LastModifiedDate в часовом поясе UTC.
- LastModified_To — используется для выбора файлов, у которых значение атрибута LastModifiedDate меньше этого значения даты и времени. Чтобы выбрать только новые файлы, которые не были скопированы в предыдущих запусках, это значение даты и времени может быть в настоящее время. Вы можете заменить значение по умолчанию "2019-02-01T00:00:00Z" ожидаемым значением LastModifiedDate в часовом поясе UTC.
Использование шаблона решения
Перейдите в коллекцию шаблонов на вкладке "Автор" в Фабрика данных Azure, а затем нажмите + кнопку, конвейер и, наконец, коллекцию шаблонов.
Найдите шаблон Копировать новые файлы только 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) будут скопированы из исходной папки пути источника или вложенной папки в папку назначения пути назначения или вложенной папки. Эти времена или папки можно заменить собственными параметрами.
Просмотрите результаты. В целевое хранилище копируются только те файлы, которые были изменены в заданном диапазоне времени.
Теперь можно добавить периодический триггер для автоматизации этого конвейера, чтобы конвейер всегда периодически копировал новые и измененные файлы только с учетом атрибута LastModifiedDate. Выберите Добавить триггер, а затем — New/Edit (Создать или изменить).
В окне Add Triggers (Добавление триггеров) выберите + Создать.
Выберите тип триггера Tumbling Window (Периодический) и установите периодичность Каждые 15 минут(здесь можно задать любой интервал). Для параметра "Активировано" установите значение Да и нажмите кнопку ОК.
В разделе Trigger Run Parameters (Параметры запуска триггера) задайте значения, как указано ниже, и нажмите кнопку Готово.
- 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 минут, а новые или измененные файлы из исходного хранилища копируются в целевое хранилище в каждом запуске конвейера.