Скопируйте последние файлы из S3 в Azure Blob (используя Azure Factory V2) - PullRequest
1 голос
/ 08 апреля 2019

Я все еще новичок в фабрике данных Azure и пытаюсь ежедневно перемещать файлы, которые выгружаются из моей папки / корзины S3, в BLOB-объект Azure. Я уже создал наборы данных (для источника и приемника) и связанные службы в фабрике данных.

Но так как мое ведро S3 получает новый файл каждый день, мне интересно, как переместить последний файл, который был сброшен в S3 (скажем, в 5 утра по восточному поясному времени) ежедневно . Я просмотрел большинство ответов онлайн: , , , , , и , . Но ни один из них не объясняет, как определить, какой файл является самым последним в S3 (может быть на основе даты последнего изменения или времени или путем сопоставления с шаблоном имени файла, который выглядит так: 'my_report_YYYYMMDD.csv.gz' ) и только скопируйте этот файл в целевой объект.

Заранее спасибо за помощь / ответ!

Ответы [ 2 ]

1 голос
/ 09 апреля 2019

Моя идея, как показано ниже:

1. Во-первых, обязательно настройте выполнение конвейера в триггере расписания. Ссылка на эту ссылку .

2.Использование Получение активности метаданных , которая поддерживает Amazon S3 Connector, для получения файлов в вашем наборе данных S3.

enter image description here

Получение метаданных последнего изменения, имени файла и т. Д.

enter image description here

3. Поместите этот массив метаданных, который содержит lastModified Time и имя файла, в Веб-активность или Операция Azure Function . В этом API-интерфейсе rest или функциональном методе вы можете выполнить своего рода логическую операцию, чтобы получить последний измененный файл.

4.Получите имя файла из веб-действия или функционального действия Azure, а затем скопируйте его в хранилище BLOB-объектов Azure.

Другая идея заключается в использовании Custom-Activity . Вы можете реализовать свои требования с помощью кода .net.

0 голосов
/ 23 апреля 2019

(примечание: спасибо Джей Гуну за предложенное решение)

Я нашел ответ. Это проще, чем я ожидал. dynamic content/expression, которое мы можем добавить в поле «Фильтровать по последнему измененному» набора данных S3. Пожалуйста, смотрите скриншот ниже, где я показываю, как я выбрал файлы, возраст которых не превышает 5 часов, с помощью динамического выражения. Подробнее об этих выражениях можно прочитать здесь .

enter image description here

Надеюсь, это полезно.

...