Копирование новых и измененных файлов с учетом атрибута 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.

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

  1. Перейдите в коллекцию шаблонов на вкладке "Автор" в Фабрика данных Azure, а затем нажмите + кнопку, конвейер и, наконец, коллекцию шаблонов.

    Снимок экрана: открытие коллекции шаблонов на вкладке

  2. Найдите шаблон Копировать новые файлы только lastModifiedDate, выберите его, а затем нажмите кнопку "Продолжить".

    Снимок экрана: поиск и выбор шаблона LastModifiedDate для копирования новых файлов.

  3. Создайте новое подключение к целевому хранилищу. Это хранилище, в которое требуется скопировать файлы.

    Создание нового подключения к источнику

  4. Создайте новое подключение к исходному хранилищу. Это хранилище, из которого нужно копировать файлы.

    Создание нового подключения к целевому хранилищу

  5. Выберите Использовать этот шаблон.

    Использовать этот шаблон

  6. На панели откроется доступный конвейер, как показано в следующем примере:

    Отображение конвейера

  7. Выберите "Отладка", напишите значение для параметров и нажмите кнопку "Готово". На рисунке, приведенном ниже, мы задали параметры следующим образом.

    • 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) будут скопированы из исходной папки пути источника или вложенной папки в папку назначения пути назначения или вложенной папки. Эти времена или папки можно заменить собственными параметрами.

    Запуск конвейера

  8. Просмотрите результаты. В целевое хранилище копируются только те файлы, которые были изменены в заданном диапазоне времени.

    Просмотр результатов

  9. Теперь можно добавить периодический триггер для автоматизации этого конвейера, чтобы конвейер всегда периодически копировал новые и измененные файлы только с учетом атрибута LastModifiedDate. Выберите Добавить триггер, а затем — New/Edit (Создать или изменить).

    Снимок экрана: пункт меню New/Edit, который отображается при выборе пункта

  10. В окне Add Triggers (Добавление триггеров) выберите + Создать.

  11. Выберите тип триггера Tumbling Window (Периодический) и установите периодичность Каждые 15 минут(здесь можно задать любой интервал). Для параметра "Активировано" установите значение Да и нажмите кнопку ОК.

    Создание триггера

  12. В разделе 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. Это системная переменная из триггера, определяющего время, когда конвейер активируется на этот раз.

    Входные параметры

  13. Выберите Опубликовать все.

    Опубликовать все

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

  15. Выберите вкладку "Монитор" на левой панели навигации и подождите около 15 минут, если повторение триггера было установлено каждые 15 минут.

  16. Просмотрите результаты. Конвейер активируется автоматически каждые 15 минут, а новые или измененные файлы из исходного хранилища копируются в целевое хранилище в каждом запуске конвейера.

    Снимок экрана: результаты, возвращаемые при активации конвейера.