2014-01-24 2 views
1

Существует много FTP-компонентов для извлечения файлов. Что я должен использовать, если у меня есть корневой каталог, с некоторыми подкаталогами и несколькими файлами во всех них, и я хочу извлечь все файлы?Talend - получить все файлы (в нескольких каталогах) с FTP

Например:

rootDirectory 
     - file1.txt 
     - file2.txt 
     - file3.txt 
     - subDirectory1 
      - file4.txt 
      - file5.txt 
     - subDirectory2 
      - file6.txt 
      - subDirectory2 
        - file7.txt 
        - file8.txt 

Как я могу получить файлы 1 до 8, только давая компонента путь к RootDirectory?

+0

Какой FTP-клиент вы используете? Является ли структура фиксированной для вашего описания или эта структура является просто примером? Можете ли вы использовать Perl на своем клиенте? –

+0

Я использую FTP-компоненты из Talend (или FTPGet или FileFetch) ... Я хочу знать, что подходит для этого случая. Структура каталогов может быть разной, но я знаю, какие папки могут существовать. Да, я могу использовать Perl. – user2144555

+0

Я думаю, что я говорю, чтобы убедиться, что получающие подкаталоги существуют на вашей локальной машине, прежде чем пытаться ПОЛУЧИТЬ в них. –

ответ

1

Я еще не использовал компоненты FTP, но обычно вы используете tFileList, подключенный к tFileCopy, чтобы перемещать файлы. Поэтому в вашем случае я ожидаю, что вы должны использовать tFTPFileList, подключенный к вашему FTP-серверу, с файловой маской "*.txt", а затем подключите его к tFTPGET. Установите этот компонент в локальный каталог по вашему выбору, удаленный каталог "/", а затем используйте ((String)globalMap.get("tFTPFileList_1_CURRENT_FILEPATH")) в вашей файловой маске.

Этот подход кажется тем, который я только что нашел сейчас в Talend documentation, хотя может потребоваться вход в систему (регистрация бесплатной учетной записи и, вероятно, стоит делать, если вы вообще используете Talend).

Возможно, справедливо сказать, что, если вы не планируете делать что-то сложное с данными, а не просто хватаете его, большинство инструментов FTP должны с комфортом получать все с FTP-сервера, а Talend может не быть лучшим подходом Вот.

+0

Этот подход терпит неудачу, когда я пытаюсь войти в подкаталог ... Это дает мне ошибку, потому что это не файл ... – user2144555

+0

@ user2144555 У вас есть общедоступный FTP-сервер с подкаталогами и текстовыми файлами на нем? – ydaetskcoR

+0

Просто дружеский совет ... если вы делаете «GET/somedir/somefile», вам лучше убедиться, что «/ somedir» также существует на вашей локальной машине !!!! Вы можете избежать этой необходимости, добавив другое место на локальном компьютере, например, «GET/somedir/somefile newnane» (без каталога). –