Перебирайте несколько папок в SFTP и сбрасывайте их в Blob

#azure #azure-blob-storage

#azure #azure-blob-хранилище

Вопрос:

У меня есть папка, скажем, A в SFTP, и в этой папке 16 вложенных папок, скажем, A1-P1. Каждая подпапка содержит 20 файлов CSV каждый.

В моем хранилище больших двоичных объектов у меня есть та же папка с тем же именем, что и у SFTP (A содержит A1-P1. Я смог подключиться к SFTP, создал соединение, создал контейнер ForEach, содержащий действия по копированию, однако я понятия не имею, как эти действия по копированию будут подключаться к отдельной папке в хранилище больших двоичных объектов, чтобы поместить 20 файлов csv в каждую подпапку.

Ответ №1:

Вы можете использовать фабрику данных Azure. Поскольку имя папки вашего sftp совпадает с именем папки контейнера хранения, вы можете сначала использовать Get Metadata для извлечения имени папки sftp, а затем использовать for each для копирования файлов.

Сначала создайте sftp и службы хранения:

введите описание изображения здесь

введите описание изображения здесь

В Get Metadata , вам нужно установить набор данных:

введите описание изображения здесь

Нажмите open кнопку, а затем настройте свой путь sftp:

введите описание изображения здесь

Затем вы можете использовать copy data in for each для копирования файлов, вам необходимо настроить Source dataset набор данных и приемника.

введите описание изображения здесь

Нажмите open кнопку, а затем настройте file path , который вам нужно использовать concat для объединения пути в Get metadata :

введите описание изображения здесь

набор данных приемника:

введите описание изображения здесь