2013-11-27 7 views
0

Я ищу способ создать папку struture с Talend DI (с Talend Studio 5.2.0).Создание всей структуры каталогов с помощью Talend DI

У меня есть временная папка, содержащее что-то вроде этого:

/tmp/myjob/type1/file01.txt 
/tmp/myjob/type1/file02.txt 
/tmp/myjob/type1/file03.txt 
/tmp/myjob/type1/fileN.txt 
/tmp/myjob/type2/file01.csv 
/tmp/myjob/type2/file02.csv 
/tmp/myjob/type2/file03.csv 
/tmp/myjob/type2/fileN.csv 
/tmp/myjob/type3/file01.jpg 
/tmp/myjob/type3/file02.jpg 
/tmp/myjob/type3/file03.jpg 
/tmp/myjob/type3/fileN.jpg 

Я хочу передать всю структуру каталогов на удаленный FTP (FTPS) папка.

И результат будет:

/destination/type1/file01.txt 
/destination/type1/file02.txt 
/destination/type1/file03.txt 
/destination/type1/fileN.txt 
/destination/type2/file01.csv 
/destination/type2/file02.csv 
/destination/type2/file03.csv 
/destination/type2/fileN.csv 
/destination/type3/file01.jpg 
/destination/type3/file02.jpg 
/destination/type3/file03.jpg 
/destination/type3/fileN.jpg 

Идея заключается в том, чтобы настроить tFTPPut для того, чтобы принять /tmp/myjob как исходную папку корня и компонент Talend воссоздать всю структуру каталогов в destination (дистанционный) папка.

Я пытался поставить следующие строки в filemask собственности:

FileMask    newName 
"./type1/*.txt"    "" 
"./type1/*.csv"    "" 
"./type1/*.jpg"    "" 

Когда я выполняю работу, это сделать следующее сообщение об ошибке:

[statistics] connected 
Exception in component tFTPPut_1 
2: No such file 

Кто знает, если это возможно, чтобы создать такая задача?

ответ

2

К сожалению, tFtpPut не дает вам возможности создавать удаленные папки. Единственное обходное решение, которое у вас есть, - это подключение через ssh и запуск правильных команд CMD/Bash.

О проблеме с файловой маской, мой совет заключается в использовании синтаксиса regex Perl5 для выражения шаблонов маски. Это более мощный, стандартный и хорошо документированный. Но если ваша исходная структура довольно сложна, лучшим решением для экономии времени может быть зашифрование всего материала на исходном компьютере, затем ftp пакет, и, наконец, разархивируйте его (опять же через ssh-соединение) на удаленном компьютере.

Я знаю, что это не общее решение: как факт, это не всегда возможно для ssh на удаленной машине. Но, насколько мне известно, это единственное возможное решение.

+0

Спасибо за совет, наконец, я сделал команду ssh, прежде чем создавать структуру папок, а другой - переместить загруженные файлы в нужные каталоги. Для синтаксиса regex perl я использовал его, но не могу найти способ переключения между регулярным выражением perl и другим компонентом tFtpPut. –

+0

Вы должны увидеть флажок «Использовать выражение Perl5 Regex Expression как Filemask» над таблицей «Файлы». Это делает магию. –

+0

В компоненте tFTPPut такой ящик отсутствует. Но я использую версию 5.2.0 Talend Studio, возможно, новую функциональность. –

 Смежные вопросы

  • Нет связанных вопросов^_^